<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.linux360.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andrei+Ristea</id>
		<title>linux360 - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linux360.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andrei+Ristea"/>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php/Special:Contributions/Andrei_Ristea"/>
		<updated>2026-04-19T13:28:11Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3560</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3560"/>
				<updated>2009-10-10T00:20:10Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Optiuni de compilare si ce semnifica fiecare sectiune */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
Exemplu trivial:&lt;br /&gt;
&lt;br /&gt;
Deschidem o consola (un terminal), fie in mediul grafic (Konsole, gnome-terminal), fie in mediul standard. Cream un fisier hello.sh (de ex cu editorul vi) care sa contina urmatoarele linii:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''vi hello.sh'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa A'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ESC'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie :wq'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ENTER'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Facem fisierul executabil:&lt;br /&gt;
 chmod 755 hello.sh&lt;br /&gt;
Executam noul script:&lt;br /&gt;
 ./hello.sh&lt;br /&gt;
In consola va aparea un mesaj:&lt;br /&gt;
 Hello world!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemplu mai complex:&lt;br /&gt;
&lt;br /&gt;
Scriptul din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Un_firewall_micut_care_sa_ne_protejeze | Un firewall micut care sa ne protejeze]] este un exemplu perfect the script de initializare, cu switch-uri.&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
Sectiunea urmatoare va prezenta structura generala de partitii, cum montam o anumita partitie, ce sisteme de fisiere vedem sistemul nostru de operare (la modul general).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
* Mai nou, s-a dezvoltat o tehnologie care permite citirea si scrierea partitiilor NTFS la fel de bine ca cele de tip FAT32. Proiectul se numeste [http://www.ntfs-3g.org/ NTFS-3G]. Ca sa aveti suport, in general nu trebuie o recompilare de kernel, ci doar sa instalati cateva pachete precompilate compatibile cu distributia voastra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
Desigur, in ultima vreme si acest neajuns a fost depasit o data cu aparitia proiectului [http://www.ntfs-3g.org/ NTFS-3G]&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
Recompilarea kernelului in 2 parti:&lt;br /&gt;
&lt;br /&gt;
Partea I&lt;br /&gt;
http://www.linuxplanet.com/linuxplanet/tutorials/6853/1/&lt;br /&gt;
&lt;br /&gt;
Partea a II-a&lt;br /&gt;
http://www.linuxplanet.com/linuxplanet/tutorials/6868/1/&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
Acesta este driverul care va functiona default la prima instalare a distributiei.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
Ei... multe de zis aici. Mai nou, fiecare jucarioara care imbucureaza ochiul (sau care distrage atentia) este discutata pe larg in sectiuni de dedicate pe forumuri, bloguri, s.a.m.d. Deci, nu voi intra in detalii.&lt;br /&gt;
&lt;br /&gt;
Tremuratul ferestrelor, cubul rotitor, transparente reale si multe altele sunt acum posibile cu [http://www.compiz-fusion.org/ Compiz Fusion]. [http://freedesktop.org/wiki/Software/Compiz Compiz] a fuzionat cu Beryl acum ceva timp creand ceva si mai spectaculos decat proiectele initiale si depasind dupa parerea multora, produsele proprietare care ofera aceste functionalitati.&lt;br /&gt;
&lt;br /&gt;
Cel mai probabil, in acest moment discributia voastra contine deja pachete precompilate si veti gasi o sumedenie de tutoriale despre cum sa le activati.&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate un alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=User:Andrei_Ristea&amp;diff=3558</id>
		<title>User:Andrei Ristea</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=User:Andrei_Ristea&amp;diff=3558"/>
				<updated>2008-11-06T23:21:51Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sunt utilizatorul cu acelasi nume si pe forumul linux360.&lt;br /&gt;
&lt;br /&gt;
[http://www.linkedin.com/in/andreiristea Profil LinkedIn]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=3550</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=3550"/>
				<updated>2008-10-08T18:34:52Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: Pozitionarea conform ultimului edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* A început migrarea tutorialelor şi ghidurilor (HowTo) din forum în Wiki -- nu ezitaţi să daţi o mână de ajutor ;-) &lt;br /&gt;
* Vă rugăm, folosiţi '''doar''' [[linux360:Sandbox|caietul de ciorne]] pentru încercări şi probe.&lt;br /&gt;
* Pentru acces de editare, vă rugăm contactaţi [mailto:wiki-admin@linux360.ro administraţia].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:HowTo|ghiduri]] actualizate:'''&lt;br /&gt;
** [[Ce este GNU/Linux? / Cum invat Linux?]] ([[:Category:FAQ|Întrebări puse frecvent]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Debricking Linksys WRT54GL cu OpenWrt]] ([[:Category:Troubleshooting|remedieri]])&lt;br /&gt;
** [[Knoppix remastering]] ([[:Category:Distributions|distributii]]/[[:Knoppix|knoppix]]/[[:Category:LiveCD|livecd]]))&lt;br /&gt;
** [[Configurare firewall in Ubuntu]] ([[:Category:Networking|reţea]])&lt;br /&gt;
** [[Supraveghere video sub Linux folosind ZoneMinder]] ([[:Category:FAQ|Întrebări puse frecvent]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Internet mobil cu Vodafone SmartModem]] ([[:Category:Networking|retea]])&lt;br /&gt;
** [[Supraveghere video sub Linux]] ([[:Category:FAQ|Întrebări puse frecvent]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Instalare Gentoo - Sfaturi]] ([[:Category:FAQ|Întrebări puse frecvent]])&lt;br /&gt;
** [[Detecţie componente hardware din consolă]] ([[:Category:FAQ|Întrebări puse frecvent]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Dezlipire sticker Microsoft Windows]] ([[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:Tutorial|tutoriale]] actualizate''':&lt;br /&gt;
** [[Script pentru restabilirea conexiunii ADSL]] ([[:Category:Networking|reţea]])&lt;br /&gt;
** [[Configurare Gaim pentru a afisa in status melodia curenta|Configurarea GAIM  pentru a afişa în status melodia curentă]] ([[:Category:Multimedia|multimedia]]/[[:Category:Office|programe de birotică]])&lt;br /&gt;
** [[Introducere in Gtk-sharp|Introducere în Gtk#]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Sistem de depanare a aplicatiilor in limbajul C-plus-plus|Sistem de depanare a aplicaţiilor în limbajul C++]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Iptables romana|Introducere în &amp;lt;tt&amp;gt;iptables&amp;lt;/tt&amp;gt;]] ([[:Category:Networking|reţea]]/[[:Category:Firewall|filtrare trafic]])&lt;br /&gt;
** [[Autorizarea accesului la resurse web în Apache]] ([[:Category:HowTo|Tutorial]])&lt;br /&gt;
** [[Partiţii]] ([[:Category:HowTo|Tutorial]]/([[:Category:Filesystems|Sisteme de fișiere]]))&lt;br /&gt;
** [[Schimbarea setarilor GTK 2]] ([[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Supraîncărcarea operatorilor în limbajul C-plus-plus]] ([[:Category:Programming|programare]])&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:Collection|colecţii]] actualizate''':&lt;br /&gt;
** [[Cele 10 porunci ale utilizatorului Linux|Cele 10 porunci ale utilizatorului Linux]]&lt;br /&gt;
** [[Scripturi BASH|Scripturi Bash utile]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Salutare lume!|Salutare, lume!]] ([[:Category:Programming|programare]])&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:Presentation|prezentări]] actualizate''':&lt;br /&gt;
** [[Libipq by example|&amp;lt;tt&amp;gt;libipq&amp;lt;/tt&amp;gt; în exemple]] ([[:Cateogory:Networking|reţea]]/[[:Category:Programming|programare]])&lt;br /&gt;
** [[KDSFlash]] ([[:Category:Graphics|grafică]]/[[:Category:Animation|animaţie]]/[[:Category:Programming|programare]])&lt;br /&gt;
&lt;br /&gt;
*'''Ultimele 10 articole - [[:Category:Slackware Linux|Slackware Linux]]:'''&lt;br /&gt;
** [[Conectarea unui telefon mobil prin IR]]&lt;br /&gt;
** [[Instalarea unei imprimante (Slackware 12.0)]]&lt;br /&gt;
** [[Conectarea la un WAP (Slackware 12.0)]]&lt;br /&gt;
** [[Grupul 'wheel' în Slackware Linux]]&lt;br /&gt;
** [[Hardware Abstraction Layer (Slackware 12.0)]]&lt;br /&gt;
** [[Instalarea kernelului 2.6.22.x (Slackware 12.0)]]&lt;br /&gt;
** [[Conectarea unui telefon mobil prin Bluetooth (Slackware 12.0)]]&lt;br /&gt;
** [[LInux LOader Grafic (Slackware)]]&lt;br /&gt;
** [[Instalarea VMware Server (Slackware)]]&lt;br /&gt;
** [[ATi_%C5%9Fi_Slackware|ATi şi Slackware]]&lt;br /&gt;
&lt;br /&gt;
* '''Articole [[:Category:Pending|în curs de scriere]]''':&lt;br /&gt;
** [[Echivalentele Linux ale programelor Windows]] ([[User:Raver|raver]])&lt;br /&gt;
** [[Partiţii]] ([[User:Sorin25|sorin25]])&lt;br /&gt;
** [[Autorizarea accesului la resurse web în Apache]] ([[User:Sorin25|sorin25]])&lt;br /&gt;
** [[ACIS|Administrare, configurare şi intreţinere servere]] ([[User:Csdexter|@Dexter]])&lt;br /&gt;
** [[Curbe Bezier|Curbe Bézier]] ([[User:Cbidea|Phaser]])&lt;br /&gt;
** [[Procesul de initializare al unui sistem Slackware GNU/Linux]] ([[User:Vladg|Vladg]])&lt;br /&gt;
** [[Istoria (neoficială) a distribuției Slackware® Linux]] ([[User:gabel|gabel]])&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3549</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3549"/>
				<updated>2008-10-08T18:31:01Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* VESA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
Exemplu trivial:&lt;br /&gt;
&lt;br /&gt;
Deschidem o consola (un terminal), fie in mediul grafic (Konsole, gnome-terminal), fie in mediul standard. Cream un fisier hello.sh (de ex cu editorul vi) care sa contina urmatoarele linii:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''vi hello.sh'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa A'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ESC'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie :wq'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ENTER'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Facem fisierul executabil:&lt;br /&gt;
 chmod 755 hello.sh&lt;br /&gt;
Executam noul script:&lt;br /&gt;
 ./hello.sh&lt;br /&gt;
In consola va aparea un mesaj:&lt;br /&gt;
 Hello world!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemplu mai complex:&lt;br /&gt;
&lt;br /&gt;
Scriptul din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Un_firewall_micut_care_sa_ne_protejeze | Un firewall micut care sa ne protejeze]] este un exemplu perfect the script de initializare, cu switch-uri.&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
Sectiunea urmatoare va prezenta structura generala de partitii, cum montam o anumita partitie, ce sisteme de fisiere vedem sistemul nostru de operare (la modul general).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
* Mai nou, s-a dezvoltat o tehnologie care permite citirea si scrierea partitiilor NTFS la fel de bine ca cele de tip FAT32. Proiectul se numeste [http://www.ntfs-3g.org/ NTFS-3G]. Ca sa aveti suport, in general nu trebuie o recompilare de kernel, ci doar sa instalati cateva pachete precompilate compatibile cu distributia voastra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
Desigur, in ultima vreme si acest neajuns a fost depasit o data cu aparitia proiectului [http://www.ntfs-3g.org/ NTFS-3G]&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
Acesta este driverul care va functiona default la prima instalare a distributiei.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
Ei... multe de zis aici. Mai nou, fiecare jucarioara care imbucureaza ochiul (sau care distrage atentia) este discutata pe larg in sectiuni de dedicate pe forumuri, bloguri, s.a.m.d. Deci, nu voi intra in detalii.&lt;br /&gt;
&lt;br /&gt;
Tremuratul ferestrelor, cubul rotitor, transparente reale si multe altele sunt acum posibile cu [http://www.compiz-fusion.org/ Compiz Fusion]. [http://freedesktop.org/wiki/Software/Compiz Compiz] a fuzionat cu Beryl acum ceva timp creand ceva si mai spectaculos decat proiectele initiale si depasind dupa parerea multora, produsele proprietare care ofera aceste functionalitati.&lt;br /&gt;
&lt;br /&gt;
Cel mai probabil, in acest moment discributia voastra contine deja pachete precompilate si veti gasi o sumedenie de tutoriale despre cum sa le activati.&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate un alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3548</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3548"/>
				<updated>2008-10-08T18:29:48Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Transparente si eye-candy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
Exemplu trivial:&lt;br /&gt;
&lt;br /&gt;
Deschidem o consola (un terminal), fie in mediul grafic (Konsole, gnome-terminal), fie in mediul standard. Cream un fisier hello.sh (de ex cu editorul vi) care sa contina urmatoarele linii:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''vi hello.sh'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa A'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ESC'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie :wq'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ENTER'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Facem fisierul executabil:&lt;br /&gt;
 chmod 755 hello.sh&lt;br /&gt;
Executam noul script:&lt;br /&gt;
 ./hello.sh&lt;br /&gt;
In consola va aparea un mesaj:&lt;br /&gt;
 Hello world!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemplu mai complex:&lt;br /&gt;
&lt;br /&gt;
Scriptul din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Un_firewall_micut_care_sa_ne_protejeze | Un firewall micut care sa ne protejeze]] este un exemplu perfect the script de initializare, cu switch-uri.&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
Sectiunea urmatoare va prezenta structura generala de partitii, cum montam o anumita partitie, ce sisteme de fisiere vedem sistemul nostru de operare (la modul general).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
* Mai nou, s-a dezvoltat o tehnologie care permite citirea si scrierea partitiilor NTFS la fel de bine ca cele de tip FAT32. Proiectul se numeste [http://www.ntfs-3g.org/ NTFS-3G]. Ca sa aveti suport, in general nu trebuie o recompilare de kernel, ci doar sa instalati cateva pachete precompilate compatibile cu distributia voastra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
Desigur, in ultima vreme si acest neajuns a fost depasit o data cu aparitia proiectului [http://www.ntfs-3g.org/ NTFS-3G]&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
Ei... multe de zis aici. Mai nou, fiecare jucarioara care imbucureaza ochiul (sau care distrage atentia) este discutata pe larg in sectiuni de dedicate pe forumuri, bloguri, s.a.m.d. Deci, nu voi intra in detalii.&lt;br /&gt;
&lt;br /&gt;
Tremuratul ferestrelor, cubul rotitor, transparente reale si multe altele sunt acum posibile cu [http://www.compiz-fusion.org/ Compiz Fusion]. [http://freedesktop.org/wiki/Software/Compiz Compiz] a fuzionat cu Beryl acum ceva timp creand ceva si mai spectaculos decat proiectele initiale si depasind dupa parerea multora, produsele proprietare care ofera aceste functionalitati.&lt;br /&gt;
&lt;br /&gt;
Cel mai probabil, in acest moment discributia voastra contine deja pachete precompilate si veti gasi o sumedenie de tutoriale despre cum sa le activati.&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate un alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3547</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3547"/>
				<updated>2008-10-08T18:29:30Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: Creat sectiunea&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
Exemplu trivial:&lt;br /&gt;
&lt;br /&gt;
Deschidem o consola (un terminal), fie in mediul grafic (Konsole, gnome-terminal), fie in mediul standard. Cream un fisier hello.sh (de ex cu editorul vi) care sa contina urmatoarele linii:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''vi hello.sh'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa A'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ESC'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie :wq'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ENTER'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Facem fisierul executabil:&lt;br /&gt;
 chmod 755 hello.sh&lt;br /&gt;
Executam noul script:&lt;br /&gt;
 ./hello.sh&lt;br /&gt;
In consola va aparea un mesaj:&lt;br /&gt;
 Hello world!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemplu mai complex:&lt;br /&gt;
&lt;br /&gt;
Scriptul din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Un_firewall_micut_care_sa_ne_protejeze | Un firewall micut care sa ne protejeze]] este un exemplu perfect the script de initializare, cu switch-uri.&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
Sectiunea urmatoare va prezenta structura generala de partitii, cum montam o anumita partitie, ce sisteme de fisiere vedem sistemul nostru de operare (la modul general).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
* Mai nou, s-a dezvoltat o tehnologie care permite citirea si scrierea partitiilor NTFS la fel de bine ca cele de tip FAT32. Proiectul se numeste [http://www.ntfs-3g.org/ NTFS-3G]. Ca sa aveti suport, in general nu trebuie o recompilare de kernel, ci doar sa instalati cateva pachete precompilate compatibile cu distributia voastra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
Desigur, in ultima vreme si acest neajuns a fost depasit o data cu aparitia proiectului [http://www.ntfs-3g.org/ NTFS-3G]&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
Ei... multe de zis aici. Mai nou, fiecare jucarioara care imbucureaza ochiul (sau care distrage atentia) este discutata pe larg in sectiuni de dedicate pe forumuri, bloguri, s.a.m.d. Deci, nu voi intra in detalii.&lt;br /&gt;
&lt;br /&gt;
Tremuratul ferestrelor, cubul rotitor, transparente reale si multe altele sunt acum posibile cu [http://www.compiz-fusion.org/ Compiz Fusion]. [http://freedesktop.org/wiki/Software/Compiz Compiz] a fuzionat cu Beryl acum ceva timp creand ceva si mai spectaculos decat proiectele initiale si depasind dupa parerea multora, produsele proprietare care ofera aceste functionalitati.&lt;br /&gt;
&lt;br /&gt;
Cel mai probabil, in acest moment discributia voastra contine deja pachete precompilate si veti gasi o sumedenie de tutorialem cum sa le activati.&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate un alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3546</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3546"/>
				<updated>2008-10-08T18:14:09Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Sisteme de fisiere */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
Exemplu trivial:&lt;br /&gt;
&lt;br /&gt;
Deschidem o consola (un terminal), fie in mediul grafic (Konsole, gnome-terminal), fie in mediul standard. Cream un fisier hello.sh (de ex cu editorul vi) care sa contina urmatoarele linii:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''vi hello.sh'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa A'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ESC'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie :wq'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ENTER'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Facem fisierul executabil:&lt;br /&gt;
 chmod 755 hello.sh&lt;br /&gt;
Executam noul script:&lt;br /&gt;
 ./hello.sh&lt;br /&gt;
In consola va aparea un mesaj:&lt;br /&gt;
 Hello world!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemplu mai complex:&lt;br /&gt;
&lt;br /&gt;
Scriptul din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Un_firewall_micut_care_sa_ne_protejeze | Un firewall micut care sa ne protejeze]] este un exemplu perfect the script de initializare, cu switch-uri.&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
Sectiunea urmatoare va prezenta structura generala de partitii, cum montam o anumita partitie, ce sisteme de fisiere vedem sistemul nostru de operare (la modul general).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
* Mai nou, s-a dezvoltat o tehnologie care permite citirea si scrierea partitiilor NTFS la fel de bine ca cele de tip FAT32. Proiectul se numeste [http://www.ntfs-3g.org/ NTFS-3G]. Ca sa aveti suport, in general nu trebuie o recompilare de kernel, ci doar sa instalati cateva pachete precompilate compatibile cu distributia voastra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
Desigur, in ultima vreme si acest neajuns a fost depasit o data cu aparitia proiectului [http://www.ntfs-3g.org/ NTFS-3G]&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate un alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3545</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3545"/>
				<updated>2008-10-08T18:13:50Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: Update: NTFS-3G&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
Exemplu trivial:&lt;br /&gt;
&lt;br /&gt;
Deschidem o consola (un terminal), fie in mediul grafic (Konsole, gnome-terminal), fie in mediul standard. Cream un fisier hello.sh (de ex cu editorul vi) care sa contina urmatoarele linii:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''vi hello.sh'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa A'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ESC'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie :wq'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ENTER'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Facem fisierul executabil:&lt;br /&gt;
 chmod 755 hello.sh&lt;br /&gt;
Executam noul script:&lt;br /&gt;
 ./hello.sh&lt;br /&gt;
In consola va aparea un mesaj:&lt;br /&gt;
 Hello world!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemplu mai complex:&lt;br /&gt;
&lt;br /&gt;
Scriptul din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Un_firewall_micut_care_sa_ne_protejeze | Un firewall micut care sa ne protejeze]] este un exemplu perfect the script de initializare, cu switch-uri.&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
Sectiunea urmatoare va prezenta structura generala de partitii, cum montam o anumita partitie, ce sisteme de fisiere vedem sistemul nostru de operare (la modul general).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
* Mai nou, s-a dezvoltat o tehnologie care permite citirea si scrierea partitiilor NTFS la fel de bine ca cele de tip FAT32. Proiectul se numeste [http://www.ntfs-3g.org/ NTFS-3G]. Ca sa aveti suport, in general nu trebuie o recompilare de kernel, ci doar sa instalati cateva pachete precompilate compatibile cu distributia voastra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
Desigur, in ultima vreme si acest neajuns a fost depasit o data cu paraitia proiectului [http://www.ntfs-3g.org/ NTFS-3G]&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate un alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3544</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3544"/>
				<updated>2008-10-08T18:12:25Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: Update: NTFS-3G&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
Exemplu trivial:&lt;br /&gt;
&lt;br /&gt;
Deschidem o consola (un terminal), fie in mediul grafic (Konsole, gnome-terminal), fie in mediul standard. Cream un fisier hello.sh (de ex cu editorul vi) care sa contina urmatoarele linii:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''vi hello.sh'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa A'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ESC'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie :wq'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ENTER'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Facem fisierul executabil:&lt;br /&gt;
 chmod 755 hello.sh&lt;br /&gt;
Executam noul script:&lt;br /&gt;
 ./hello.sh&lt;br /&gt;
In consola va aparea un mesaj:&lt;br /&gt;
 Hello world!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemplu mai complex:&lt;br /&gt;
&lt;br /&gt;
Scriptul din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Un_firewall_micut_care_sa_ne_protejeze | Un firewall micut care sa ne protejeze]] este un exemplu perfect the script de initializare, cu switch-uri.&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
Sectiunea urmatoare va prezenta structura generala de partitii, cum montam o anumita partitie, ce sisteme de fisiere vedem sistemul nostru de operare (la modul general).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
* Mai nou, s-a dezvoltat o tehnologie care permite citirea si scrierea partitiilor NTFS la fel de bine ca cele de tip FAT32. Proiectul se numeste [http://www.ntfs-3g.org/ NTFS-3G]. Ca sa aveti suport, in general nu trebuie o recompilare de kernel, ci doar sa instalati cateva pachete precompilate compatibile cu distributia voastra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate un alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3543</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3543"/>
				<updated>2008-10-08T18:09:21Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: Explicatia sectiunii&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
Exemplu trivial:&lt;br /&gt;
&lt;br /&gt;
Deschidem o consola (un terminal), fie in mediul grafic (Konsole, gnome-terminal), fie in mediul standard. Cream un fisier hello.sh (de ex cu editorul vi) care sa contina urmatoarele linii:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''vi hello.sh'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa A'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ESC'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie :wq'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ENTER'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Facem fisierul executabil:&lt;br /&gt;
 chmod 755 hello.sh&lt;br /&gt;
Executam noul script:&lt;br /&gt;
 ./hello.sh&lt;br /&gt;
In consola va aparea un mesaj:&lt;br /&gt;
 Hello world!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemplu mai complex:&lt;br /&gt;
&lt;br /&gt;
Scriptul din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Un_firewall_micut_care_sa_ne_protejeze | Un firewall micut care sa ne protejeze]] este un exemplu perfect the script de initializare, cu switch-uri.&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
Sectiunea urmatoare va prezenta structura generala de partitii, cum montam o anumita partitie, ce sisteme de fisiere vedem sistemul nostru de operare (la modul general).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate un alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3542</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3542"/>
				<updated>2008-10-08T18:05:02Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: Adaug un alt exemplu&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
Exemplu trivial:&lt;br /&gt;
&lt;br /&gt;
Deschidem o consola (un terminal), fie in mediul grafic (Konsole, gnome-terminal), fie in mediul standard. Cream un fisier hello.sh (de ex cu editorul vi) care sa contina urmatoarele linii:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''vi hello.sh'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa A'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ESC'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie :wq'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ENTER'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Facem fisierul executabil:&lt;br /&gt;
 chmod 755 hello.sh&lt;br /&gt;
Executam noul script:&lt;br /&gt;
 ./hello.sh&lt;br /&gt;
In consola va aparea un mesaj:&lt;br /&gt;
 Hello world!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemplu mai complex:&lt;br /&gt;
&lt;br /&gt;
Scriptul din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Un_firewall_micut_care_sa_ne_protejeze | Un firewall micut care sa ne protejeze]] este un exemplu perfect the script de initializare, cu switch-uri.&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate un alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3541</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3541"/>
				<updated>2008-10-08T18:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Bash */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
Exemplu trivial:&lt;br /&gt;
&lt;br /&gt;
Deschidem o consola (un terminal), fie in mediul grafic (Konsole, gnome-terminal), fie in mediul standard. Cream un fisier hello.sh (de ex cu editorul vi) care sa contina urmatoarele linii:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''vi hello.sh'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa A'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ESC'''&lt;br /&gt;
&lt;br /&gt;
'''Scrie :wq'''&lt;br /&gt;
&lt;br /&gt;
'''Apasa tasta ENTER'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Facem fisierul executabil:&lt;br /&gt;
 chmod 755 hello.sh&lt;br /&gt;
Executam noul script:&lt;br /&gt;
 ./hello.sh&lt;br /&gt;
In consola va aparea un mesaj:&lt;br /&gt;
 Hello world!&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate un alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3540</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3540"/>
				<updated>2008-10-08T18:00:09Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: Am adaugat un exemplu&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
Exemplu trivial:&lt;br /&gt;
&lt;br /&gt;
Deschidem o consola (un terminal), fie in mediul grafic (Konsole, gnome-terminal), fie in mediul standard. Cream un fisier hello.sh (de ex cu editorul vi) care sa contina urmatoarele linii:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vi hello.sh&lt;br /&gt;
&lt;br /&gt;
Apasa A&lt;br /&gt;
&lt;br /&gt;
Scrie...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;Hello world!&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Apasa tasta ESC&lt;br /&gt;
&lt;br /&gt;
Scrie :wq&lt;br /&gt;
&lt;br /&gt;
Apasa tasta ENTER&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Facem fisierul executabil:&lt;br /&gt;
 chmod 755 hello.sh&lt;br /&gt;
Executam noul script:&lt;br /&gt;
 ./hello.sh&lt;br /&gt;
In consola va aparea un mesaj:&lt;br /&gt;
 Hello world!&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate un alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=User:Andrei_Ristea&amp;diff=3539</id>
		<title>User:Andrei Ristea</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=User:Andrei_Ristea&amp;diff=3539"/>
				<updated>2008-10-07T11:02:47Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sunt utilizatorul cu acelasi nume si pe forumul linux360.&lt;br /&gt;
&lt;br /&gt;
[http://www.linkedin.com/pub/1/618/ba4 Profil LinkedIn]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=3527</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=3527"/>
				<updated>2008-04-27T16:51:56Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: Mutarea articolului in urma modificarii recente&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* A început migrarea tutorialelor şi ghidurilor (HowTo) din forum în Wiki -- nu ezitaţi să daţi o mână de ajutor ;-) &lt;br /&gt;
* Vă rugăm, folosiţi '''doar''' [[linux360:Sandbox|caietul de ciorne]] pentru încercări şi probe.&lt;br /&gt;
* Pentru acces de editare, vă rugăm contactaţi [mailto:wiki-admin@linux360.ro administraţia].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:HowTo|ghiduri]] actualizate:'''&lt;br /&gt;
** [[Debricking Linksys WRT54GL cu OpenWrt]] ([[:Category:Troubleshooting|remedieri]])&lt;br /&gt;
** [[Ce este GNU/Linux? / Cum invat Linux?]] ([[:Category:FAQ|Întrebări puse frecvent]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Knoppix remastering]] ([[:Category:Distributions|distributii]]/[[:Knoppix|knoppix]]/[[:Category:LiveCD|livecd]]))&lt;br /&gt;
** [[Configurare firewall in Ubuntu]] ([[:Category:Networking|reţea]])&lt;br /&gt;
** [[Supraveghere video sub Linux folosind ZoneMinder]] ([[:Category:FAQ|Întrebări puse frecvent]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Internet mobil cu Vodafone SmartModem]] ([[:Category:Networking|retea]])&lt;br /&gt;
** [[Supraveghere video sub Linux]] ([[:Category:FAQ|Întrebări puse frecvent]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Instalare Gentoo - Sfaturi]] ([[:Category:FAQ|Întrebări puse frecvent]])&lt;br /&gt;
** [[Detecţie componente hardware din consolă]] ([[:Category:FAQ|Întrebări puse frecvent]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Dezlipire sticker Microsoft Windows]] ([[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:Tutorial|tutoriale]] actualizate''':&lt;br /&gt;
** [[Script pentru restabilirea conexiunii ADSL]] ([[:Category:Networking|reţea]])&lt;br /&gt;
** [[Configurare Gaim pentru a afisa in status melodia curenta|Configurarea GAIM  pentru a afişa în status melodia curentă]] ([[:Category:Multimedia|multimedia]]/[[:Category:Office|programe de birotică]])&lt;br /&gt;
** [[Introducere in Gtk-sharp|Introducere în Gtk#]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Sistem de depanare a aplicatiilor in limbajul C-plus-plus|Sistem de depanare a aplicaţiilor în limbajul C++]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Iptables romana|Introducere în &amp;lt;tt&amp;gt;iptables&amp;lt;/tt&amp;gt;]] ([[:Category:Networking|reţea]]/[[:Category:Firewall|filtrare trafic]])&lt;br /&gt;
** [[Autorizarea accesului la resurse web în Apache]] ([[:Category:HowTo|Tutorial]])&lt;br /&gt;
** [[Partiţii]] ([[:Category:HowTo|Tutorial]]/([[:Category:Filesystems|Sisteme de fișiere]]))&lt;br /&gt;
** [[Schimbarea setarilor GTK 2]] ([[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Supraîncărcarea operatorilor în limbajul C-plus-plus]] ([[:Category:Programming|programare]])&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:Collection|colecţii]] actualizate''':&lt;br /&gt;
** [[Cele 10 porunci ale utilizatorului Linux|Cele 10 porunci ale utilizatorului Linux]]&lt;br /&gt;
** [[Scripturi BASH|Scripturi Bash utile]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Salutare lume!|Salutare, lume!]] ([[:Category:Programming|programare]])&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:Presentation|prezentări]] actualizate''':&lt;br /&gt;
** [[Libipq by example|&amp;lt;tt&amp;gt;libipq&amp;lt;/tt&amp;gt; în exemple]] ([[:Cateogory:Networking|reţea]]/[[:Category:Programming|programare]])&lt;br /&gt;
** [[KDSFlash]] ([[:Category:Graphics|grafică]]/[[:Category:Animation|animaţie]]/[[:Category:Programming|programare]])&lt;br /&gt;
&lt;br /&gt;
*'''Ultimele 10 articole - [[:Category:Slackware Linux|Slackware Linux]]:'''&lt;br /&gt;
** [[Instalarea unei imprimante (Slackware 12.0)]]&lt;br /&gt;
** [[Conectarea la un WAP (Slackware 12.0)]]&lt;br /&gt;
** [[Grupul 'wheel' în Slackware Linux]]&lt;br /&gt;
** [[Hardware Abstraction Layer (Slackware 12.0)]]&lt;br /&gt;
** [[Instalarea kernelului 2.6.22.x (Slackware 12.0)]]&lt;br /&gt;
** [[Conectarea unui telefon mobil prin Bluetooth (Slackware 12.0)]]&lt;br /&gt;
** [[LInux LOader Grafic (Slackware)]]&lt;br /&gt;
** [[Instalarea VMware Server (Slackware)]]&lt;br /&gt;
** [[ATi_%C5%9Fi_Slackware|ATi şi Slackware]]&lt;br /&gt;
** [[Configurarea X în Slackware]]&lt;br /&gt;
&lt;br /&gt;
* '''Articole [[:Category:Pending|în curs de scriere]]''':&lt;br /&gt;
** [[Echivalentele Linux ale programelor Windows]] ([[User:Raver|raver]])&lt;br /&gt;
** [[Partiţii]] ([[User:Sorin25|sorin25]])&lt;br /&gt;
** [[Autorizarea accesului la resurse web în Apache]] ([[User:Sorin25|sorin25]])&lt;br /&gt;
** [[ACIS|Administrare, configurare şi intreţinere servere]] ([[User:Csdexter|@Dexter]])&lt;br /&gt;
** [[Curbe Bezier|Curbe Bézier]] ([[User:Cbidea|Phaser]])&lt;br /&gt;
** [[Procesul de initializare al unui sistem Slackware GNU/Linux]] ([[User:Vladg|Vladg]])&lt;br /&gt;
** [[Istoria (neoficială) a distribuției Slackware® Linux]] ([[User:gabel|gabel]])&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Debricking_Linksys_WRT54GL_cu_OpenWrt&amp;diff=3526</id>
		<title>Debricking Linksys WRT54GL cu OpenWrt</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Debricking_Linksys_WRT54GL_cu_OpenWrt&amp;diff=3526"/>
				<updated>2008-04-27T16:49:27Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Metoda frustranta si migaloasa pentru cazuri de coruperi extreme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Procedurile de mai jos trateaza readucerea la viata a unui router wireless Linksys Wrt54GL versiunea 1.1 cu firmware OpenWrt squashfs. Daca sunteti un posesor de Linksys WRT54G si/sau firmware DD-WRT, procedura de debricking ar trebui sa fie foarte asemanatoare.&lt;br /&gt;
&lt;br /&gt;
[[Image:DSC02183.jpg|thumb|300px|Linksys WRT54GL v1.1]]&lt;br /&gt;
&lt;br /&gt;
Eu am fost nevoit sa fac operatiunea dupa un upgrade nereusit de BusyBox pe router. Fapt pe care nici macar nu ar fi trebuit sa il incerc, dupa cum am aflat mai tarziu de la un developer OpenWrt. In urma tentativei nefericite, shell-ul a decedat iar router-ul nu mai putea porni. Solutia oferita de developer a fost rescrierea flash-ului prin TFTP dar, cum nevoia il invata pe om, am descoperit alta ce nu a mai necesitat reflashing.&lt;br /&gt;
&lt;br /&gt;
Simptomele unui router &amp;quot;bricked&amp;quot; sunt de obicei refuzul acestuia de a boota sau incercari de boot nereusite si reboot-uri automate. (Re)Boot-ul este semnalizat prin clipirea deasa a LED-ului POWER. In aceasta faza intra in actiune bootloader-ul router-ului ce verifica integritatea software-ului si ii preda controlul mai departe sau, in cazuri de corupere, ofera utilizatorului posibilitatea de a incarca o noua imagine a firmware-ului prin tftp. Daca bootloader-ul incearca incarcarea software-ului, va semnaliza prin aprinderea continua a LED-ului DMZ.&lt;br /&gt;
&lt;br /&gt;
Nici una din metodele de mai jos nu afecteaza garantia produsului. Daca ceva nu merge cum trebuie si va blocati de tot, puteti merge cu router-ul linistiti la garantie. Dar, iarasi, atentie la etichetele de sigiliu sa nu le rupeti din greseala cand manevrati &amp;quot;jucaria&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Metoda de 2 minute (plus reconfigurare)==&lt;br /&gt;
&lt;br /&gt;
Prima metoda de debricking se aplica in momentul in care partitia accesibila pentru scriere utilizatorului (jffs2) a fost corupta sau umpluta iar cea read-only (squashfs) este intacta. Acesta a fost si cazul meu. Solutia este reformatarea partitiei jffs2 cu datele default din cea squashfs si reconfigurarea router-ului.&lt;br /&gt;
&lt;br /&gt;
Se deconecteaza router-ul de la retea si se conecteaza printr-un cablu UTP la PC-ul/laptop-ul pe care veti lucra. Conexiunea se va face printr-unul din porturile LAN (notate cu [3] in foto). Se deconecteaza router-ul de la alimentare, se reconecteaza si imediat ce se aprinde LED-ul DMZ, apasati butonul RESET (notat cu [1] cu foto) si mentineti pentru aproximativ 2 secunde. Acest lucru va provoca intrarea router-ului in modul fail-safe iar LED-ul DMZ va incepe sa clipeasca regulat.&lt;br /&gt;
&lt;br /&gt;
[[Image:wrt54gl_back.jpg|Butonul de reset notat cu (1)]]&lt;br /&gt;
&lt;br /&gt;
In acest moment, router-ul este initializat cu valorile default pentru conexiunea Ethernet (adresa IP 192.168.1.1). De pe calculatorul conectat la router, porniti un terminal/command prompt si rulati &amp;quot;telnet 192.168.1.1&amp;quot;. Veti fi intampinat de un ecran ca cel de mai jos:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 === IMPORTANT ============================&lt;br /&gt;
  Use 'passwd' to set your login password&lt;br /&gt;
  this will disable telnet and enable SSH&lt;br /&gt;
 ------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BusyBox v1.00 (2006.03.27-00:00+0000) Built-in shell (ash)&lt;br /&gt;
Enter 'help' for a list of built-in commands.&lt;br /&gt;
&lt;br /&gt;
  _______                     ________        __&lt;br /&gt;
 |       |.-----.-----.-----.|  |  |  |.----.|  |_&lt;br /&gt;
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|&lt;br /&gt;
 |_______||   __|_____|__|__||________||__|  |____|&lt;br /&gt;
          |__| W I R E L E S S   F R E E D O M&lt;br /&gt;
 WHITE RUSSIAN (RC5) -------------------------------&lt;br /&gt;
  * 2 oz Vodka   Mix the Vodka and Kahlua together&lt;br /&gt;
  * 1 oz Kahlua  over ice, then float the cream or&lt;br /&gt;
  * 1/2oz cream  milk on the top.&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
root@(none):/#&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru rescrierea partitiei jffs2, trebuie rulat utilitarul &amp;quot;firstboot&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@(none):/# firstboot&lt;br /&gt;
Unlocking OpenWrt ...&lt;br /&gt;
Erasing OpenWrt ...&lt;br /&gt;
creating directories... done&lt;br /&gt;
setting up symlinks... done&lt;br /&gt;
root@(none):/#&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In acest moment, router-ul este reinitializat cu firmware-ul OpenWrt original si tot ce mai trebuie este un reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@(none):/# reboot&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dupa reboot, trebuie reconfigurate atat conexiunile (WAN, LAN, WiFi), precum si serviciile (iptables, SSH/SFTP, dnsmasq, cron etc). Pentru criptare WiFi WPA nu uitati sa reinstalati pachetul &amp;quot;nas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Felicitari, in acest moment aveti din nou un router 100% functional.&lt;br /&gt;
&lt;br /&gt;
==Metoda frustranta si migaloasa pentru cazuri de coruperi extreme==&lt;br /&gt;
&lt;br /&gt;
A doua metoda de debricking se aplica in cazurile in care router-ul nu mai poate intra nici macar in mod fail-safe. Astfel de coruperi intervin in momentul in care este distrusa partitia squashfs (pentru imaginile WhiteRussian squashfs) sau cea jffs2 (WhiteRussian jffs2).&lt;br /&gt;
&lt;br /&gt;
Singura solutie de resuscitare a router-ului fara afectarea garantiei (desfacerea carcasei si utilizarea hack-ului cu pini sau atasare de port serial) este rescrierea firmware-ului prin TFTP. Veti avea nevoie de o imagine a firmware-ului (i.e. openwrt-wrt54g-squashfs.bin) si un client TFTP (atat Linux cat si Windows au un astfel de utilitar in instalarile standard).&lt;br /&gt;
&lt;br /&gt;
Deconectati router-ul de la retea si conectati-l printr-un cablu UTP la statia de lucru. '''Este foarte recomandat sa aveti ca intermediar intre statie si router un switch sau un hub!''' Acest lucru este esential deoarece fereastra de timp in care puteti incarca imaginea este foarte scurta (1-2 secunde). Prin utilizarea unui switch/hub, link-ul dintre statie si router se va restabili astfel foarte rapid dupa pornirea router-ului.&lt;br /&gt;
&lt;br /&gt;
Pentru a pregati upload-ul imaginii, scrieti intr-un terminal/command prompt, fara a apasa inca ENTER:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
tftp -i 192.168.1.1 PUT /calea/catre/fisierul.bin&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(evident, inlocuiti &amp;quot;/calea/catre/fisierul.bin&amp;quot; cu calea locala corecta)&lt;br /&gt;
&lt;br /&gt;
Deconectati router-ul de la reteaua electrica si reconectati-l. Imediat dupa aparitia link-ului catre router in switch/hub, executati comanda de mai sus. Repet, fereastra in care bootloader-ul asteapta o imagine noua a firmware-ului este foarte mica si trebuie sa va sincronizati perfect. [http://forum.openwrt.org/ Forumul openwrt.org] mentioneaza o medie de 20-30 de incercari (fara nici un fel de gluma) pentru cei care aplica procedura pentru prima oara. Deci nu va lasati pagubasi la primele incercari nereusite!&lt;br /&gt;
&lt;br /&gt;
Dupa upload-ul imaginii, clientul va raporta acest lucru iar router-ul va reboota automat. In acest moment, router-ul este gata de lucru si tot ce va mai ramane de facut este reconfigurarea acestuia.&lt;br /&gt;
&lt;br /&gt;
Se mai pot gasi detalii pe [http://wiki.openwrt.org/OpenWrtDocs/Installing/TFTP?action=show&amp;amp;redirect=OpenWrtViaTftp Wiki-ul OpenWRT], care a documentat acesta problema si a detaliat partea de upload prin tftp. Metoda se poate aplica atat imaginilor din stoc, cat si celor oferite de proiectul X-wrt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''ATENTIE!''' linux360 nu isi asuma responsabilitatea si nu poate fi facuta vinovata pentru pagubele aparute in urma aplicarii defectuoase a acestui HOWTO sau in orice alt mod. Nu va incurajam sa umblati la hardware-ul dvs daca nu sunteti sigur pe bagajul propriu de cunostinte tehnice! Apelati cu incredere la service-urile autorizate.&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3348</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3348"/>
				<updated>2007-01-25T15:19:33Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Cuvant de incheiere */ small fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate un alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3347</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3347"/>
				<updated>2007-01-25T15:08:10Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Cuvant de incheiere */ mici modificari -&amp;gt; mai multi autori&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In linii mari cam acestea ar fi intrebarile si raspunsurile care le-au venit autorilor in minte la momentul scrierii. Speram ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care asteptam sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3346</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3346"/>
				<updated>2007-01-25T15:00:18Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Utilizatorii şi grupurile sistemului */ small fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3345</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3345"/>
				<updated>2007-01-25T14:57:14Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Care sunt comenzile esentiale? */ small fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3344</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3344"/>
				<updated>2007-01-25T14:56:48Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Ce sunt dependintele si cum utilizez un manager de pachete? */ small fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3343</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3343"/>
				<updated>2007-01-25T14:54:39Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* ... din surse? */ small fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3342</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3342"/>
				<updated>2007-01-25T14:53:31Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Se poate instala Knoppix pe hard-disk? */ small fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.4)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r3 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://www.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2007)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 11)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06.1)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.0.1)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pe [http://www.gnu.org/software/grub/ pagina oficiala] găsiţi cele mai bune informatii referitoare la subiect, in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director ('''man mkdir'''). Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[în scriere...]'''&lt;br /&gt;
&lt;br /&gt;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&lt;br /&gt;
&lt;br /&gt;
Documentaţia lilo abundă pe internet iar paginile de manual sunt foarte multe ('''man lilo''' şi '''man lilo.conf'''). Ne vom concentra aici asupra câtorva chestiuni de bază.&lt;br /&gt;
&lt;br /&gt;
În cele ce urmează vom presupune că lilo a fost instalat pe MBR.&lt;br /&gt;
Fişierul de configurare este ''/etc/lilo.conf'' iar după editarea lui e neapărat nevoie să executaţi comanda&lt;br /&gt;
&amp;lt;code&amp;gt;# /sbin/lilo&amp;lt;/code&amp;gt;&lt;br /&gt;
pentru a reinstala lilo.&lt;br /&gt;
&lt;br /&gt;
Un lilo.conf arată cam aşa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# secţiune de variabile globale&lt;br /&gt;
boot = /dev/hda           # Partiţia de boot, de obicei marcată ca Active*&lt;br /&gt;
delay = 30                # Câte secunde durează până la boot-area sistemului implicit&lt;br /&gt;
vga = normal              # Afişaj standard (80x25)&lt;br /&gt;
prompt                    # Dacă opţiunea aceasta nu apare, trebuie apăsat Shift&lt;br /&gt;
                          # la boot-are pentru a boot-a alt sistem de operare&lt;br /&gt;
read-only                 # Toate sistemele de fişiere trebuie să fie read-only&lt;br /&gt;
                          # pentru fsck imediat după bootare&lt;br /&gt;
default = linux           # Sistemul de operare implicit&lt;br /&gt;
append=&amp;quot;&amp;quot;                 # Între ghilimele puteţi adaugă parametri pentru kernel&lt;br /&gt;
# sfârşitul secţiunii globale&lt;br /&gt;
&lt;br /&gt;
# secţiunea cu opţiunile de boot&lt;br /&gt;
# aici pot fi redefinite unele variabile globale de mai sus&lt;br /&gt;
image = /boot/vmlinuz     # Imaginea de kernel ce va fi boot-ată&lt;br /&gt;
label = linux             # Nume sugestiv pentru acest sistem de operare&lt;br /&gt;
root = /dev/hda2          # Pe această partiţie va fi căutat kernel-ul&lt;br /&gt;
initrd = /boot/initrd     # A se vedea secţiunea de re-compilare kernel&lt;br /&gt;
&lt;br /&gt;
other = /dev/hda3         # Aici se află un Windows&lt;br /&gt;
label = windows&lt;br /&gt;
table = /dev/hda          # Necesar pentru MS-DOS/Windows şi similară&lt;br /&gt;
                          # cu opţiunea ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; a se vedea ''fdisk -l''&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivausers.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
Distribuţia Slackware Linux poate fi obţinută folosind informaţiile de pe [http://www.slackware.com site-ul oficial], în varianta pe 6 CD-uri sau 1 DVD. &lt;br /&gt;
&lt;br /&gt;
Instalarea Slackware Linux se realizează cu un installer în modul text, bazat pe meniuri. Distribuţia nu dispune de un installer în modul grafic. Kernelul implicit este 2.4.33.3, dar mai sunt disponibile: 2.6.17.13 (în directorul /extra) şi 2.6.18 (în directorul /testing).&lt;br /&gt;
&lt;br /&gt;
După bootarea calculatorului de pe primul CD (de pe DVD) şi alegerea imaginii de bootare (implicit - &amp;quot;sata.i&amp;quot;, apăsaţi F2 şi F3 pentru detalii), urmează alegerea tipului tastaturii (implicit - &amp;quot;qwerty&amp;quot;) şi logarea ca root. Etapa următoare este partiţionarea hardisk-ului cu ajutorul programului fdisk (în modul text) sau cfdisk (în modul text cu meniuri).&lt;br /&gt;
&lt;br /&gt;
Programul de instalare se lansează cu comanda: &amp;lt;code&amp;gt;setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opţiunile meniului principal al programului de instalare sunt următoarele:&lt;br /&gt;
*'''HELP''' - explicarea, pe scurt, a instalării distribuţiei Slackware Linux;&lt;br /&gt;
*'''KEYBOARD''' - alegerea unui alt tip de tastatură; (primele 2 opţiuni nu sunt obligatorii) &lt;br /&gt;
*'''ADDSWAP''' - căutarea, alegerea, formatarea şi montarea partiţiei swap;&lt;br /&gt;
*'''TARGET''' - căutarea, alegerea, formatarea, crearea structurii de directoare   şi montarea partiţiei / (root), precum şi căutarea, formatarea (dacă e cazul) şi montarea altor partiţii (Linux sau non-Linux);&lt;br /&gt;
*'''SOURCE''' - alegerea sursei pachetelor distribuţiei (de pe CD/DVD, de pe o altă partiţie/director sau prin protocolul Network File System);&lt;br /&gt;
*'''SELECT''' - selectarea seriilor de pachete care urmează a fi instalate (toate sunt selectate implicit, mai puţin seria &amp;quot;KDEI&amp;quot;);&lt;br /&gt;
*'''INSTALL''' - alegerea modului de instalare (recomandat este &amp;quot;full&amp;quot;) şi instalarea pachetelor;&lt;br /&gt;
*'''CONFIGURE''' - configurarea de bază a sistemului:&lt;br /&gt;
**selectarea şi instalarea kernelului (recomandat este cel cu care s-a început instalarea);&lt;br /&gt;
**crearea dischetei / dischetelor de boot;&lt;br /&gt;
**configurarea modemului (dacă există);&lt;br /&gt;
**activarea sau dezactivarea subsistemului hotplug/udev (detectarea şi activarea automată de către kernel a componentelor hardware);&lt;br /&gt;
**configurarea şi instalarea LILO (Linux Loader);&lt;br /&gt;
**alegerea tipului de mouse;&lt;br /&gt;
**configurarea reţelei (hostname, domain name, adresele IP, netmask, gateway, Name Server);&lt;br /&gt;
**stabilirea serviciilor care vor fi rulate automat la bootarea sistemului de operare;&lt;br /&gt;
**configurarea fontului pentru consolă;&lt;br /&gt;
**setarea fusului orar;&lt;br /&gt;
**alegerea window managerului pentru serverul grafic (KDE sau alte 6 din categoria &amp;quot;light&amp;quot;);&lt;br /&gt;
**stabilirea parolei contului root;&lt;br /&gt;
*'''EXIT''' - ieşirea din programul de instalare.&lt;br /&gt;
Urmează rebootarea calculatorului cu combinaţia de taste CTRL+ALT+DEL.&lt;br /&gt;
&lt;br /&gt;
De reţinut este şi faptul că CD-ul 1/DVD-ul pot fi folosite şi ca &amp;quot;Rescue CD/DVD&amp;quot;, în cazul în care apar probleme de genul:&lt;br /&gt;
*blocarea procesului de bootare din cauza unor conflicte irq, hotplug, agp sau acpi;&lt;br /&gt;
*recompilare de kernel nereuşită;&lt;br /&gt;
*configurarea greşită a fişierului /etc/lilo.conf;&lt;br /&gt;
*instalarea/reinstalarea unui alt sistem de operare pe o altă partiţie. &lt;br /&gt;
Pentru remedierea acestor probleme, după bootarea calculatorului tastaţi comanda &amp;lt;code&amp;gt;bare.i root=/dev/hda1 noinitrd ro&amp;lt;/code&amp;gt; unde &amp;quot;hda1&amp;quot; este partiţia pe care a fost instalată distribuţia Slackware Linux.&lt;br /&gt;
&lt;br /&gt;
[[Slackware 11.0 - Instalare şi configurare|Detalii privind instalarea şi configurarea distribuţiei Slackware Linux.]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Have fun installing and running Linux&amp;quot; (''Patrick Volkerding'')&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
Fiind derivat din Debian, Ubuntu are in mare acelasi installer. Iar din moment ce instalarea este descrisa detaliat de [http://www.ubuntu.ro comunitatea Ubuntu Romania], va invitam sa cititi [http://wiki.ubuntu.ro/ManualUbuntuInstalareUbuntu acest articol].&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
Un manager desktop are rolul de a oferi utilizatorului o interfata grafica pentru a interactiona cu calculatorul.&lt;br /&gt;
&lt;br /&gt;
Spre deosebire de Windows care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE|KDE]] si [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome|Gnome]] (nu neaparat in aceasta ordine). A avea de unde alege intre mai multi manageri desktop insemna libertate si diversitate.&lt;br /&gt;
&lt;br /&gt;
Puteti sa va instalati oricati manageri desktop pe distributia dumneavoastra, putand alege pe cel cu care vreti sa porniti, de obicei, la ecranul de autentificare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/ '''K''' '''D'''esktop '''E'''nvironment] este un manager desktop liber, scris in principal in [http://www.trolltech.com/products/qt Qt], fondat in 1996 de [http://www.kde.nl/people/ettrich.html Matthias Ettrich], student pe atunci.&lt;br /&gt;
&lt;br /&gt;
Functioneaza pe multe Unix-uri: Linux, BSD, AIX, Unixware, OpenServer, Solaris. A fost portat si pe Mac OS X si functioneaza si pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Pana in versiunile 2.x, mascota KDE a fost [http://www.kde.org/screenshots/images/large/kde2final_1.jpg Kandalf]. In versiunile curente (3.x), mascota KDE este [http://www.kde.org/stuff/clipart/konqi-klogo-official-400x500.png Konqi], insotit uneori de prietena lui, [http://www.kde.org/stuff/clipart/katie-221x223.jpg Katie].&lt;br /&gt;
&lt;br /&gt;
Proiectul [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome] a pornit ca o alternativa libera la KDE, deoarece pe atunci Qt-ul nu era liber. In 1998 Qt-ul a fost licentiat sub licenta [http://doc.trolltech.com/3.0/license.html QPL], ceva mai &amp;quot;libera&amp;quot;, dar necompatibila cu [http://www.gnu.org/licenses/gpl.html GPL-ul]. Fundatia [http://www.kde.org/whatiskde/kdefreeqtfoundation.php Free Qt] a fost creata tot in 1998 si garanteaza ca daca in viitor Qt-ul nu va mai fi liber, Trolltech nu va mai exista sau nu va mai scoate nici o versiune libera de Qt timp de 12 luni, Fundatia va putea licentia versiunea curenta de Qt sub licenta de tip [http://www.opensource.org/licenses/bsd-license.php BSD]. In 2000, versiunea de Unix a Qt-ului a fost licentiata GPL de catre Trolltech, iar incepand cu versiunea 4.0, Qt-ul are versiune libera si pentru Mac si Windows. De asemenea, acordul dintre Trolltech si Fundatia Free Qt a fost reinnoit in 2004.&lt;br /&gt;
&lt;br /&gt;
KDE-ul este dezvoltat de voluntari (ca de altfel majoritatea proiectelor Open Source), dar companii ca Novell, Trolltech sau Mandriva platesc angajati pentru a contribui la proiect.&lt;br /&gt;
&lt;br /&gt;
Puteti avea KDE pe aproape orice distributie. Pe unele dintre ele KDE-ul este chiar desktop-ul standard: Mandriva, Knoppix, Kubuntu, etc...&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* aRts - server de sunet&lt;br /&gt;
* DCOP - interfata de comunicare intre procese&lt;br /&gt;
* KHTML - engine HTML&lt;br /&gt;
* Konqueror - manager de fisiere, web browser&lt;br /&gt;
* KWin - managerul de ferestre&lt;br /&gt;
* KOffice - suita office&lt;br /&gt;
* kcontrol - panoul de configurare&lt;br /&gt;
* KDevelop - mediu integrat de dezvoltare&lt;br /&gt;
* Amarok - player audio&lt;br /&gt;
* K3b - aplicatie de scris CD-uri si DVD-uri&lt;br /&gt;
* Kate - editor text&lt;br /&gt;
* KMail - client mail&lt;br /&gt;
* Konsole - emulator de consola&lt;br /&gt;
* Kopete - client de mesagerie instanta, multi-protocol&lt;br /&gt;
* Ark, KArchiver - manageri de arhive&lt;br /&gt;
&lt;br /&gt;
Se observa o anumita conventie de notare: in unele denumiri, litera &amp;quot;C&amp;quot; (de la &amp;quot;cool&amp;quot; ?) a fost inlocuita cu &amp;quot;K&amp;quot; (Konsole), in altele litera &amp;quot;K&amp;quot; a fost adaugata fortat (KOffice), iar in altele &amp;quot;K&amp;quot; pare a fi natural (Kate, Amarok; initial Amarok se scria amaroK). Exista si exceptii. De exemplu gwenview (un program de vizualizat imagini).&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ Gnome] este un manager desktop liber, scris in principal in [http://www.gtk.org/ GTK+], fondat in 1997 de [http://tirania.org/blog/ Miguel de Icaza] si [http://primates.ximian.com/~federico/ Federico Mena-Quintero]. Functioneaza pe majoritatea tipurilor de Unix fiind adoptat si de Sun Microsystems, inlocuind CDE in desktop-ul Java creat de cei de la Sun. Multe aplicatii Gnome ruleaza pe Windows cu [http://www.cygwin.com/ Cygwin].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE], in conditiile in care Qt-ul nu era inca liber. Momentan GTK+ este licentiat [http://www.gnu.org/copyleft/lesser.html LGPL].&lt;br /&gt;
&lt;br /&gt;
Initial era scris &amp;quot;GNOME&amp;quot; si insemna '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment (acronim gandit de Elliot Lee). Acronimul este considerat depasit si probabil se va renunta la el definitiv, &amp;quot;GNOME&amp;quot; devenind astfel, &amp;quot;Gnome&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Proiectul e dezvoltat de voluntari si coordonat de [http://foundation.gnome.org/ Fundatia Gnome]. Dezvoltatorii, utilizatorii, fanii si curiosii se intalnesc anual undeva in Europa la [http://guadec.org/ GUADEC].&lt;br /&gt;
&lt;br /&gt;
Il puteti avea pe aproape orice distributie Linux, dar exista cateva pe care este desktop implicit: Fedora Core, Ubuntu, etc.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* GConf — pentru stocarea setarilor&lt;br /&gt;
* GNOME VFS — sistem de fisiere virtual&lt;br /&gt;
* GNOME Keyring — pentru stocare criptata&lt;br /&gt;
* LibXML — librarie XML&lt;br /&gt;
* Ekiga — soft pentru comunicare VOIP&lt;br /&gt;
* Epiphany — web browser&lt;br /&gt;
* Evince — pentru vizualizare fisiere PDF si PostScript&lt;br /&gt;
* Eye of GNOME — pentru vizualizare imagini&lt;br /&gt;
* File Roller — manager de arhive&lt;br /&gt;
* GNOME Terminal — emulator de consola&lt;br /&gt;
* Evolution — client de mail, agenda&lt;br /&gt;
* gedit — editor text&lt;br /&gt;
* Metacity — manager de ferestre&lt;br /&gt;
* Nautilus — manager de fisiere&lt;br /&gt;
* Totem — player multimedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Xfce ======&lt;br /&gt;
&lt;br /&gt;
[http://www.xfce.org/ Xfce] este un manager desktop liber pentru sistemele de operare de tip Unix (Linux, Solaris, BSD), bazat pe [http://www.gtk.org/ GTK+], ca si [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Gnome Gnome].&lt;br /&gt;
&lt;br /&gt;
Se remarca prin consum redus de resurse fiind numit in distributia [http://www.zenwalk.org/ ZenWalk], &amp;quot;Cholesterol Free Desktop Environment&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Desi nu este nou in lumea Unix, el este mai putin cunoscut, poate din cauza ca a si fost rescris de mai multe ori de la 0. In ultimul timp popularitatea lui a crescut dovada ca exista din ce in ce mai multe distributii il au ca desktop implicit (Xubuntu, ZenWalk). De asemenea, in Mandriva 2007, rpm-urile cu Xfce vor fi incluse in mediul ''main'' (deci in iso-urile ce pot fi descarcate de pe mirror-urile oficiale), fiind mutate din mediul ''contrib''.&lt;br /&gt;
&lt;br /&gt;
Initial era scris '''XFce''' si insemna '''XF'''orms '''C'''ommon '''E'''nvironment. Cand XFce a fost rescris in GTK+, scrierea a devenit '''Xfce''', acronimul fiind desfiintat.&lt;br /&gt;
&lt;br /&gt;
'''Componente importante:'''&lt;br /&gt;
&lt;br /&gt;
* Thunar - manager de fisiere&lt;br /&gt;
* Terminal - emulator de consola&lt;br /&gt;
* xfwm4 - manager de ferestre&lt;br /&gt;
* orage - calendar&lt;br /&gt;
* xarchiver - manager de arhive&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2778</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2778"/>
				<updated>2006-08-02T14:05:21Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Module (drivere) */  Am corectat link-ul&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Ce_sunt_modulele.3F| Ce sunt modulele]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2777</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2777"/>
				<updated>2006-08-02T14:00:52Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Sisteme de fisiere */  Am adaugat un nou link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii. Un alt proiect de acelasi gen pe care il recomand cu caldura este [http://www.fs-driver.org/index.html Ext2 Installable File System for Windows] si pot garanta ca functioneaza foarte bine.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module|Module]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2776</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2776"/>
				<updated>2006-07-22T17:48:25Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Imblanzirea unei distributii (costumizare, configurare, intretinere) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (&amp;quot;customize&amp;quot;, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module|Module]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2775</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2775"/>
				<updated>2006-07-22T17:45:29Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Ce sunt modulele? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie Linux? ====&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Care este cea mai buna distributie? =====&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://opensuse.org/ openSUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Varianta gratuita a distributiei SUSE; ambele sunt sustinute de Novell&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu], [https://wiki.ubuntu.com/Xubuntu Xubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6.06)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
===== Ce este o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== De ce as alege o distributie boot-abila? =====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Se poate instala Knoppix pe hard-disk? =====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Mai sunt distributii interesante, utile pentru teste? =====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre programe/aplicatii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program... ====&lt;br /&gt;
&lt;br /&gt;
===== ... din surse? =====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Arhivare/Dezarhivare ======&lt;br /&gt;
&lt;br /&gt;
'''Cum utilizez '''tar'''?'''&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
'''Exista '''zip''', '''rar''', '''ace''', '''arj''' in Linux?'''&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== ... din pachete? =====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
====== Ce sunt dependintele si cum utilizez un manager de pachete? ======&lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''openSUSE''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Alte comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
==== Ce fac cu un program care nu se mai opreste? ====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Utilizatorii şi grupurile sistemului ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum adaug / sterg utilizatori din sistem? ====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum schimb parola unui utilizator? ====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Despre fisiere, structura de directoare si partitii ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux hard-disk-ul meu? (Partitionare) ====&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sisteme de fisiere =====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cum vede Linux celelalte dispozitive din calculatorul meu? ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum configurez un boot-loader? =====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
====== GRUB ======&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
====== LILO ======&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kernel-ul (Nucleul) GNU/Linux  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== Ce sunt modulele? =====&lt;br /&gt;
&lt;br /&gt;
In momentul in care compilati aveti posibilitatea de a activa suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
===== Copierea surselor pe calculatorul vostru =====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.4 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.4'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== linux 2.6 ======&lt;br /&gt;
&lt;br /&gt;
'''Cerinte 2.6'''&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
'''Compilarea efectiva (pasi)'''&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
====== Optiuni de compilare si ce semnifica fiecare sectiune ======&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== openSUSE ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Popular&amp;quot; numita SUSE, de fapt noi ne vom ocupa aici de openSUSE. Ca si in testele de IQ, putem spune ca openSUSE este pentru Novell, ce este FedoraCore pentru RedHat.&lt;br /&gt;
&lt;br /&gt;
Developmentul e impartit in 3 ramuri:&lt;br /&gt;
* ''Released Version'' - versiunea stabila, cea recomandata pentru download. Corespunde ramurii ''stable'' de la Debian, ''Official'' de la Mandriva&lt;br /&gt;
* ''Development Version'' - versiune Alpha, Beta sau RC (Release Candidate). Corespunde ramurii testing de la ''testing'' de la Debian, respectiv ramurii ''Community'' de la Mandriva, cand e in stadiu de RC.&lt;br /&gt;
* ''Factory'' - versiunea instabila, cu modificari zilnice. Recomandat doar dezvoltatorilor. Corespunde ramurii ''unstable'' de la Debian, respectiv ''Cooker'' de la Mandriva&lt;br /&gt;
&lt;br /&gt;
Alegeti versiunea stabila de pe [http://en.opensuse.org/Download pagina de download] si sa-i dam drumul! Ca si mai sus, vom folosi CD-urile, deoarece sunt cel mai comun mediu de instalare. &lt;br /&gt;
&lt;br /&gt;
* Dupa bootarea de pe primul CD veti observa un meniu din care veti alege, cel mai probabil, instalarea standard.&lt;br /&gt;
* In timpul instalarii veti fi ''asistat'' de un panou in partea stanga care va explica ce se petrece in partea dreapta. Acest panou exista si in installer-ul de la RedHat/FedoraCore/CentOS.&lt;br /&gt;
* Tot ca la RedHat/FedoraCore/CentOS, installer-ul se ofera sa verifice CD-urile inainte de a incepe, pentru a nu incepe instalarea cu CD-uri &amp;quot;defecte&amp;quot;. Avand in vedere ca aceasta verificare mananca mult timp, daca ati verificat imaginile ISO cu md5sum dupa descarcare, puteti sari acest pas.&lt;br /&gt;
* Dupa ce se alege &amp;quot;New Installation&amp;quot; si se seteaza ceasul, installer-ul ne ofera un sumar al instalarii ce va urma.&lt;br /&gt;
* Este recomandat sa folositi butonul &amp;quot;Change&amp;quot; (sau cum se numeste in limba aleasa la instalare) de jos pentru a modifica anumite setari.&lt;br /&gt;
* Installer-ul va afisa cu rosu partitiile ce urmeaza sa fie modificate.&lt;br /&gt;
* Dupa inceperea instalarii propriu-zise, veti observa ca sistemul se va reboot-a dupa ce se instaleaza toate pachetele de pe primul CD. In meniul de la inceput, lasati sistemul sa boot-eze de pe harddisk.&lt;br /&gt;
* Dupa setarea parolei de root, update-urilor online, utilizatorilor, etc, puteti pasi direct in openSUSE Linux. Nu mai e nevoie de reboot din moment ce sistemul a fost reboot-at dupa primul CD.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (costumizare, configurare, intretinere) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
'''SYS V init style'''&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
'''BSD init style'''&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module|Module]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Manageri desktop =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorilor: Documentul este inca in lucru!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2752</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2752"/>
				<updated>2006-07-07T10:11:58Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Module (drivere) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.4 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.4 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.6 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Optiuni de compilare si ce semnifica fiecare sectiune ====&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
==== Module ====&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module|Module]]? &lt;br /&gt;
Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2751</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2751"/>
				<updated>2006-07-07T10:10:16Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Kernelul Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.4 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.4 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.6 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Optiuni de compilare si ce semnifica fiecare sectiune ====&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
==== Module ====&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2749</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2749"/>
				<updated>2006-07-03T08:33:25Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' avem de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.4 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.4 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.6 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Optiuni de compilare si ce semnifica fiecare sectiune ====&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2748</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2748"/>
				<updated>2006-07-03T08:32:53Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
/dev este directorul in care se gasesc dispozitivele de sistem. Unele sunt &amp;quot;Character devices&amp;quot;, altele sunt &amp;quot;Block devices&amp;quot; si reprezinta modul de interactiune dintre module (respectiv kernel) si dispozitivele fizice. Diferenta dintre cele doua este ca &amp;quot;Block devices&amp;quot; au un buffer pentru cereri, astfel avand dreptul sa alega ordinea in care sa raspunda acestora. Acest lucru cu precadere important pentru dispozitivele de stocare, unde este mai rapid sa scrie sau sa citesca sectoare care sunt apropiate unul de celalalt, decat acelea care sunt departate. O alta diferenta este faptul ca &amp;quot;Block devices&amp;quot; accepta intrari si iesiri doar in blocuri (ale caror marimi variaza in functie de dispozitiv), pe cand &amp;quot;Character devices&amp;quot; pot folosi cat de multi sau de putini octeti (bytes) doresc. Multe din dispozitivele aflate in /dev sunt de tip caracter deoarece nu au nevoie de acest tip de buffering, si nu opereaza cu o dimensiune fixa a blocurilor de date&lt;br /&gt;
&lt;br /&gt;
Puteti vedea care sunt de un tip sau celalalt dand comanda '''ls -l'''. Unde apare '''b''' avem de-a face un un block device, iar unde apare '''c''' aveam de-a face cu un character device.&lt;br /&gt;
&lt;br /&gt;
In practica, noi nu ne prea ocupam cu crearea acestor blocuri, desi in cazul in care detectia nu este buna aveti posibilitatea sa faceti acest lucru. '''man mknod''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.4 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.4 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.6 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Optiuni de compilare si ce semnifica fiecare sectiune ====&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2747</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2747"/>
				<updated>2006-07-03T08:09:44Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Sistemul de fisiere proc este un pseudo sistem de fisere montat in /proc care reprezinta obiectele accesibile utilizatorilor si reflecta starea kernel-ului si a proceselor care ruleaza la momentul respectiv. &amp;quot;Pseudo&amp;quot; deoarece sistemul de fisiere /proc nu este altceva decat starea in memorie a structurilor de date ale nucleului pe care le afisaza. Nu este deloc suprinzator ca aceste fisiere au de obicei dimensiunea 0. Unele din aceste fisiere pot fi modificate de catre root, alterand optiunile din timpul rularii.&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.4 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.4 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.6 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Optiuni de compilare si ce semnifica fiecare sectiune ====&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2746</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2746"/>
				<updated>2006-07-03T07:59:27Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Kernelul Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optiunile necesare, accesul facil la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.4 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.4 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.6 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Optiuni de compilare si ce semnifica fiecare sectiune ====&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2745</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2745"/>
				<updated>2006-07-03T07:57:47Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.4 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.4 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.6 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Optiuni de compilare si ce semnifica fiecare sectiune ====&lt;br /&gt;
&lt;br /&gt;
'''Asemanari si deosebiri intre 2.4 si 2.6'''&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2744</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2744"/>
				<updated>2006-06-29T13:26:01Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* GRUB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentatia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.4 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.4 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.6 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6) ====&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2743</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2743"/>
				<updated>2006-06-29T13:23:55Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Kernelul Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulterioare in cazul in care am gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.4 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.4 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele. Nota: pentru a rula '''make menuconfig''' trebuie sa aveti instalat '''ncurses''', pentru a rula '''make xconfig''' trebuie sa aveti instalat '''qt''' si bibliotecile sale iar pentru a rula '''make gconfig''' trebuie sa aveti instalat '''gtk'''.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.6 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6) ====&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2742</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2742"/>
				<updated>2006-06-29T13:13:56Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Copierea surselor pe calculatorul vostru */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.4 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.4 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele.&lt;br /&gt;
&lt;br /&gt;
* '''make oldconfig'''&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
Nota: Daca ati compilat aproape totul ca modul (cum se intampla cu nucleele generice de obicei), atunci nu uitati sa creeati si un initrd cu comanda '''mkinitrd'''. Consultati pagina de manual pentru detalii.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== linux 2.6 ====&lt;br /&gt;
&lt;br /&gt;
===== Cerinte 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.79.1                  # make --version&lt;br /&gt;
*  binutils               2.12                    # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  module-init-tools      0.9.10                  # depmod -V&lt;br /&gt;
*  e2fsprogs              1.29                    # tune2fs&lt;br /&gt;
*  jfsutils               1.1.3                   # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmciautils            004&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
*  nfs-utils              1.0.5                   # showmount --version&lt;br /&gt;
*  procps                 3.2.0                   # ps --version&lt;br /&gt;
*  oprofile               0.9                     # oprofiled --version&lt;br /&gt;
*  udev                   058                     # udevinfo -V&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''. Lista programelor de mai sus poate varia in functie de ce optiuni folositi.&lt;br /&gt;
&lt;br /&gt;
===== Compilarea efectiva (pasi) =====&lt;br /&gt;
&lt;br /&gt;
Pasii '''1.''' si '''2.''' sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat dati Save si apoi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasii '''4.''' si '''5.''' sunt identici, la fel si nota despre '''mkinitrd'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6) ====&lt;br /&gt;
&lt;br /&gt;
'''[Va urma]'''&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2741</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2741"/>
				<updated>2006-06-29T12:53:28Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Copierea surselor pe calculatorul vostru */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul '''README''' din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4:&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi):&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele.&lt;br /&gt;
&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi):&lt;br /&gt;
&lt;br /&gt;
Pasii 1. si 2. sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6):&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2740</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2740"/>
				<updated>2006-06-29T12:52:56Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* linux 2.4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul README din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4:&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi):&lt;br /&gt;
&lt;br /&gt;
'''1.''' Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele.&lt;br /&gt;
&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
'''2.''' Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
'''3.''' Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi):&lt;br /&gt;
&lt;br /&gt;
Pasii 1. si 2. sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6):&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2739</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2739"/>
				<updated>2006-06-29T12:51:05Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Kernelul Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocmai buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul README din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4:&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi):&lt;br /&gt;
&lt;br /&gt;
1. Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele.&lt;br /&gt;
&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
2. Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
3. Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (in conformitate cu exemplul nostru, dar voi adaptati dupa caz), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
'''NU stergeti kernelul vechi functional pe care il aveti!''' In cazul in care ceva nu a mers cum trebuie, trebuie sa aveti o metoda de a reveni la un stadiu functional. Acesta este si motivul pentru care nu va sfatuiesc nici sa inlocuiti vechiul kernel cu cel compilat de voi pana cand nu aveti certitudinea ca functioneaza 100%.&lt;br /&gt;
&lt;br /&gt;
5. Editati fisierul de configurare al boot-loader-ului folosit de voi, pentru cei care folosesc LILO acesta va fi probabil /etc/lilo.conf, iar pentru cei care folosesc GRUB, va fi probabil /boot/grub/grub.conf sau menu.lst si adaugati in lista de intrari noua voastra &amp;quot;opera&amp;quot;. Pentru a afla despre cum interactionati cu boot-loader-ul cautati in sectiunile corespunzatoare din acest articol sau pe [http://www.google.ro Google]&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi):&lt;br /&gt;
&lt;br /&gt;
Pasii 1. si 2. sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6):&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2738</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2738"/>
				<updated>2006-06-29T12:41:56Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* linux 2.4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocami buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul README din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4:&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi):&lt;br /&gt;
&lt;br /&gt;
1. Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele.&lt;br /&gt;
&lt;br /&gt;
* '''make config'''&lt;br /&gt;
* '''make menuconfig'''&lt;br /&gt;
* '''make xconfig'''&lt;br /&gt;
* '''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
2. Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
3. Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (de exemplu), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi):&lt;br /&gt;
&lt;br /&gt;
Pasii 1. si 2. sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6):&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2737</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2737"/>
				<updated>2006-06-29T12:41:04Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Copierea surselor pe calculatorul vostru */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocami buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul README din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4:&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi):&lt;br /&gt;
&lt;br /&gt;
1. Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele.&lt;br /&gt;
&lt;br /&gt;
'''make config'''&lt;br /&gt;
'''make menuconfig'''&lt;br /&gt;
'''make xconfig'''&lt;br /&gt;
'''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
2. Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
3. Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (de exemplu), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi):&lt;br /&gt;
&lt;br /&gt;
Pasii 1. si 2. sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6):&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2736</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2736"/>
				<updated>2006-06-29T12:39:48Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Copierea surselor pe calculatorul vostru */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocami buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Primul lucru pe care il aveti de facut este sa dezarhivati sursele. Inainte de toate, nu uitati sa consultati directorul '''Documentation''' care include toate detaliile expuse in continuare si multe altele. De asemenea, fisierul README din directorul radacina al surselor va ofera informatii importante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4&lt;br /&gt;
&lt;br /&gt;
Pentru a compila kernelul linux versiunea 2.4 trebuie sa aveti urmatoarele programe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
*  Gnu C                  2.95.3                  # gcc --version&lt;br /&gt;
*  Gnu make               3.77                    # make --version&lt;br /&gt;
*  binutils               2.9.1.0.25              # ld -v&lt;br /&gt;
*  util-linux             2.10o                   # fdformat --version&lt;br /&gt;
*  modutils               2.4.14                  # insmod -V&lt;br /&gt;
*  e2fsprogs              1.25                    # tune2fs&lt;br /&gt;
*  jfsutils               1.0.12                  # fsck.jfs -V&lt;br /&gt;
*  reiserfsprogs          3.6.3                   # reiserfsck -V 2&amp;gt;&amp;amp;1|grep reiserfsprogs&lt;br /&gt;
*  xfsprogs               2.6.0                   # xfs_db -V&lt;br /&gt;
*  pcmcia-cs              3.1.21                  # cardmgr -V&lt;br /&gt;
*  quota-tools            3.09                    # quota -V&lt;br /&gt;
*  PPP                    2.4.0                   # pppd --version&lt;br /&gt;
*  isdn4k-utils           3.1pre1                 # isdnctrl 2&amp;gt;&amp;amp;1|grep version&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati '''Documentation/Changes'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi):&lt;br /&gt;
&lt;br /&gt;
1. Oricare din urmatoarele comenzi lanseaza procesul de compilare, insa doar ultimele doua sunt intr-un meniu grafic usor de utilizat. Pentru incepatori este recomandat sa foloseasca unul din ele.&lt;br /&gt;
&lt;br /&gt;
'''make config'''&lt;br /&gt;
'''make menuconfig'''&lt;br /&gt;
'''make xconfig'''&lt;br /&gt;
'''make gconfig'''&lt;br /&gt;
&lt;br /&gt;
2. Incarcati config-ul (din meniul Load daca l-ati lansat grafic) &lt;br /&gt;
&lt;br /&gt;
3. Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make dep&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Copiati imaginea $Director_surse/arch/i386/boot/bzImage in /boot si redenumiti-o linux-2.4.31-test (de exemplu), daca arhitectura pentru care l-ati compilat este x86.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi):&lt;br /&gt;
&lt;br /&gt;
Pasii 1. si 2. sunt identici cu cei de mai sus.&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make bzImage&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6)&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2735</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2735"/>
				<updated>2006-06-29T11:53:59Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Kernelul Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocami buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
==== Copierea surselor pe calculatorul vostru ====&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
* Sursele pentru kernelul 2.4:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
* Config-ul pentru kernelul nostru de test 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
* Sursele pentru kernelul 2.6:&lt;br /&gt;
http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make deps&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6)&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2734</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2734"/>
				<updated>2006-06-29T11:37:10Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* NVidia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
In lucru! Va aparea in curand. --[[User:Andrei Ristea|Andrei Ristea]] 16:43, 28 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocami buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
Copierea surselor pe calculatorul vostru&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
Config-ul pentru kernelul nostru de test 2.4: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
Sursele pentru kernelul 2.4: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Config-ul pentru kernelul nostru de test 2.6: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
Sursele pentru kernelul 2.6: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make deps&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6):&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (echivalentul driver-elor) ====&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel. Dar daca stau bine sa ma gandesc si ati avut rabdarea sa cititi pana aici, cred ca cea mai buna alternativa este sa intrati in runlevel-ul 1, dand direct comanda '''init 1''' intr-o consola. Trebuie sa aveti drepturi de administrator pentru a face acest lucru, bineinteles.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2733</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2733"/>
				<updated>2006-06-28T14:05:06Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Gentoo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
In lucru! Va aparea in curand. --[[User:Andrei Ristea|Andrei Ristea]] 16:43, 28 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocami buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
Copierea surselor pe calculatorul vostru&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
Config-ul pentru kernelul nostru de test 2.4: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
Sursele pentru kernelul 2.4: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Config-ul pentru kernelul nostru de test 2.6: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
Sursele pentru kernelul 2.6: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make deps&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6):&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (echivalentul driver-elor) ====&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2732</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2732"/>
				<updated>2006-06-28T14:04:52Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Suse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
In lucru! Va aparea in curand. --[[User:Andrei Ristea|Andrei Ristea]] 16:43, 28 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocami buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
Copierea surselor pe calculatorul vostru&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
Config-ul pentru kernelul nostru de test 2.4: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
Sursele pentru kernelul 2.4: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Config-ul pentru kernelul nostru de test 2.6: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
Sursele pentru kernelul 2.6: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make deps&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6):&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (echivalentul driver-elor) ====&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2731</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2731"/>
				<updated>2006-06-28T14:04:22Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Slackware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
In lucru! Va aparea in curand. --[[User:Andrei Ristea|Andrei Ristea]] 16:43, 28 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocami buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
Copierea surselor pe calculatorul vostru&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
Config-ul pentru kernelul nostru de test 2.4: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
Sursele pentru kernelul 2.4: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Config-ul pentru kernelul nostru de test 2.6: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
Sursele pentru kernelul 2.6: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make deps&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6):&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (echivalentul driver-elor) ====&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2730</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2730"/>
				<updated>2006-06-28T14:04:08Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Fedora Core */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
In lucru! Va aparea in curand. --[[User:Andrei Ristea|Andrei Ristea]] 16:43, 28 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocami buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
Copierea surselor pe calculatorul vostru&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
Config-ul pentru kernelul nostru de test 2.4: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
Sursele pentru kernelul 2.4: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Config-ul pentru kernelul nostru de test 2.6: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
Sursele pentru kernelul 2.6: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make deps&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6):&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (echivalentul driver-elor) ====&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2729</id>
		<title>Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2729"/>
				<updated>2006-06-28T14:03:55Z</updated>
		
		<summary type="html">&lt;p&gt;Andrei Ristea: /* Ubuntu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, fiind utilizat, pe platformele desktop, cu precadere Microsoft Windows. De aceea vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni considerate cunoscute deja.&lt;br /&gt;
&lt;br /&gt;
Pentru a vedea corespondentele unor programe de pe Windows pe Linux (sau invers) poate fi consultat articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care cunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai putea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite instructiuni. Insa ceea ce cunostem noi sub numele de program este cu totul altceva. Noi cunoastem ''intruparea'' acelui program, si anume un fisier binar executabil (un ''.exe'' pe Windows). Care este procedeul prin care transformam textul intr-un binar (astfel incat sa poata fi interpretat direct de calculator) si care este ''bagheta magica'' care il transforma din text in binar? Bagheta magica este un program special numit ''compilator'' si procedeul de transformare se numeste ''compilare''.&lt;br /&gt;
&lt;br /&gt;
Textul initial despre care va povesteam este de fapt ''sursa'' programului, esenta lui, pe care noi in sistemele &amp;quot;GNU/Linux&amp;quot; avem posibilitatea de a o modifica si de a crea un program si mai puternic decat cel initial daca suntem suficient de priceputi. In alte sisteme cu sursa inchisa (cum ar fi Microsoft Windows), nu avem aceasta posibilitate, prin urmare drepturile si posibilitatile noastre sunt ingradite. Pentru un utilizator obisnuit nu este o tragedie foarte mare deoarece probabil ca nu simte nevoia acestei libertati, sau nu stie ce sa faca cu ea.&lt;br /&gt;
&lt;br /&gt;
Daca ati ajuns pana aici si nu va este frica sa ma murdariti un pic de &amp;quot;unsoare&amp;quot;, inseamna ca sunteti curiosi sa vedeti mai mult. Aceasta unsoare de care vorbesc este de fapt dorinta de a afla mai multe despre internele unui sistem de operare si cateodata este necesar un mic '''hack''' pentru a rezolva posibilele probleme. In acest caz, nu pot decat sa va felicit deoarece aveti calitatile necesare pentru a invata Linux.&lt;br /&gt;
&lt;br /&gt;
==== Cum compilez un program? / Cum instalez din surse o aplicatie? ====&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''make'''&lt;br /&gt;
&lt;br /&gt;
Utilitarul '''make''' s-a nascut din nevoia de a compila, linkedita si instala proiecte mari, alcatuite din sute sau mii de fisiere sursa. Pentru a explica rolul utilitarului '''make''', recapitulam pasii in care mai multe fisiere sursa C sau ASM (limbaj de asamblare) sunt compilate si linkeditate impreuna intr-un fisier executabil:&lt;br /&gt;
&lt;br /&gt;
Fie mai multe fisiere sursa C, cu numele sursa1.c, sursa2.c, sursa3.c. In mod normal, aceste fisiere sunt compilate separat de catre orice compilator C in fisiere individuale obiect: sursa1.o (sau sursa1.obj),&lt;br /&gt;
sursa2.o si sursa3.o. Dupa compilare, in faza de linkeditare din cele trei fisiere obiect rezulta fisierul executabil. Se pot recunoaste usor acesti pasi si in asamblarea si linkeditare impreuna a mai multor fisiere ASM intr-un singur fisier executabil.&lt;br /&gt;
&lt;br /&gt;
Daca din cele trei fisiere sursa de mai sus se modifica doar sursa2.c, care din pasii de mai sus trebuie repetati? Evident, nu este necesara recompilarea in fisiere obiect a fisierelor sursa1.c si sursa3.c, este&lt;br /&gt;
necesara doar recompilarea lui sursa2.c. In urma acestei recompilari se va modifica si sursa2.o, lucru care impune relinkeditarea tuturor fisierelor obiect in fisierul executabil final. Utilitarul '''make''', folosind un fisier de configurare cu numele Makefile, &amp;quot;are grija&amp;quot; ca din pasii necesari obtinerii unui anumit fisier (in cazul nostru fisierul executabil final) sa se execute doar acesi pasi necesari.&lt;br /&gt;
&lt;br /&gt;
Prezentam in continuare in fisier Makefile pentru exemplu enuntat mai sus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo : sursa1.o sursa2.o sursa3.o&lt;br /&gt;
	gcc -o demo sursa1.o sursa2.o sursa3.o&lt;br /&gt;
&lt;br /&gt;
sursa1.o : sursa1.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa2.c&lt;br /&gt;
&lt;br /&gt;
sursa2.o : sursa2.c&lt;br /&gt;
	gcc -c sursa1.c&lt;br /&gt;
&lt;br /&gt;
clean :&lt;br /&gt;
	rm sursa1.c~ sursa2.c~ sursa3.c~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Explicatii:'''&lt;br /&gt;
&lt;br /&gt;
Pe prima linie, fisierul demo, se obtine din fisierele sursa1.o, sursa2.o si sursa3.o cu comanda de pe linia doi. Prima linia este folosita de utilitarul make pentru a sti cand trebuie sa reconstruiasca (prin linkeditare) fisierul demo, iar linia doi pentru a sti cu ce comanda trebuie sa reconstruiasca acest fisier.&lt;br /&gt;
Linia patru este folosita pentru a contrui fisierul sursa1.o din fisierul sursa1.c folosind comanda de pe linia cinci. Aceste doua linii sunt folosita de utilitarul make in doua situatii:&lt;br /&gt;
* a) fie sursa1.o nu exista, el este necesar la linkeditare finala, si deci trebuie creat prin comanda de pe linia cinci;&lt;br /&gt;
* b) fie fisierul sursa1.c are data crearii mai noua decat sursa1.o, fapt ce impune recompilarea lui sursa1.c.&lt;br /&gt;
Modificandu-se sursa1.o, data crearii acestuia va fi mai noua decat data fisierului demo lucru ce va duce linkeditarea finala. Optinea -c folosita la compilatorul gcc inseamna &amp;quot;just compile, don't link&amp;quot;, iar optiunea -o inseamna &amp;quot;creeaza fisierul executabil cu acest nume&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pentru a rula exemplu de mai sus, se tasteaza comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Observatii:'''&lt;br /&gt;
* Observati regula ''clean'' din fisierul de mai sus. Prin comanda '''make clean''' se executa comanda de dupa aceasta regula (se executa comanda rm care sterge fisierele de backup)&lt;br /&gt;
* Liniile cu comenzile '''gcc''' si '''rm''' sunt indentate in dreapta cu TAB, nu cu spatii!&lt;br /&gt;
* Intr-un fisier Makefile se pot folosi orice comenzi valide shell pentru a crea un fisier necesar. Exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fisier_cu_useri_din_sistem :&lt;br /&gt;
	finger &amp;gt; fisier_cu_useri_din_sistem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Arhivare/Dezarhivare ====&lt;br /&gt;
===== Cum utilizez '''tar'''? =====&lt;br /&gt;
&lt;br /&gt;
Codul sursa al unui program se va gasi cel mai des intr-o arhiva. Aceasta poate fi .tar, tar.gz sau .tar.bz2 si va fi numita, generic, ''tarball''.&lt;br /&gt;
Pentru a afla mai multe despre tar si optiunile sale dati comanda '''man tar'''. &lt;br /&gt;
&lt;br /&gt;
Dezarhivarea se face astfel:&lt;br /&gt;
* pentru o arhiva '''tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar xvf arhiva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar zxvf arhiva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar jxvf arhiva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea unui director se face astfel:&lt;br /&gt;
* intr-o arhiva '''.tar''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cvf arhiva.tar /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.gz''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar czvf arhiva.tar.gz /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
* intr-o arhiva '''tar.bz2''': &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar cjvf arhiva.tar.bz2 /director/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desigur, in loc de un director putea fi un simplu fisier. Se pot specifica mai multe fisiere, directoare pentru arhivare in cadrul aceleiasi arhive. De, asemenea, ca o observatie, uneori arhivele ''tar.gz'' pot fi gasite si cu extensia ''tgz'', comenzile de dezarhivare fiind la fel.&lt;br /&gt;
&lt;br /&gt;
===== Exista zip, rar, ace, arj in Linux? =====&lt;br /&gt;
&lt;br /&gt;
Da. Nu sunt programe cu sursa deschisa, dar in general sunt de gasit prin repository-urile distributiilor mai mari. Sa le luam pe rand:&lt;br /&gt;
* Pentru ''zip'' exista doua programe: '''zip''' si '''unzip'''. Desi nu sunt produse de firma care produce binecunoscutul WinZIP, aceste utilitare sunt compatibile cu WinZIP, gratuite si portate pe mai multe sisteme de operare. [http://www.info-zip.org/ Site-ul oficial].&lt;br /&gt;
** pentru a crea o arhiva zip dintr-un director: &amp;lt;code&amp;gt;zip -r arhiva.zip /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva zip: &amp;lt;code&amp;gt;unzip arhiva.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''rar'' exista '''rar''' si '''unrar'''. Ambele utilitare pot fi descarcate de pe [http://www.rarlab.com/ site-ul oficial], dar numai '''unrar''' este gratuit.&lt;br /&gt;
** pentru a crea o arhiva rar dintr-un director: &amp;lt;code&amp;gt;rar a arhiva.rar /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage fisierele dintr-o arhiva rar: &amp;lt;code&amp;gt;unrar e arhiva.rar /director_destinatie/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''ace'' exista '''unace'''. Pe [http://www.winace.com/ site-ul oficial], exista doar acest utilitar la categoria download-urilor pentru Linux. El executa doar dezarhivare:&lt;br /&gt;
** &amp;lt;code&amp;gt;unace e arhiva.ace&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru ''arj'' exista '''arj'''. Desi pe [http://www.arjsoftware.com/ site-ul lor oficial] se pare ca platforma UNIX/Linux nu e suportata (FAQ, intrebarea h.), in repository-ul distributiilor mari exista '''arj''':&lt;br /&gt;
** &amp;lt;code&amp;gt;ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [24 Nov 2005]&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a crea o arhiva dintr-un director: &amp;lt;code&amp;gt;arj a -r arhiva.arj /director/&amp;lt;/code&amp;gt;&lt;br /&gt;
** pentru a extrage o arhiva: &amp;lt;code&amp;gt;arj e -r arhiva.arj&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
; [http://www.centos.org/ CentOS] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.3)&lt;br /&gt;
: Cea mai fidela clona de RedHat Enterprise, disponibila gratuit.&lt;br /&gt;
&lt;br /&gt;
; [http://www.debian.org/ Debian] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3.1r2 &amp;quot;sarge&amp;quot;)&lt;br /&gt;
: Una dintre cele mai vechi si complete distributii, cu o gama impresionanta (Aprilie 2006: peste 15940) de pachete in arsenal.&lt;br /&gt;
&lt;br /&gt;
; [http://fedoraproject.org/wiki/ Fedora Core] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5)&lt;br /&gt;
: Cunoscuta ca fiind initiativa RedHat pentru a oferi o varianta gratuita a produsului sau Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.gentoo.org/ Gentoo] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006.0)&lt;br /&gt;
: Un proiect impresionant, avand in vedere ca pune la dispozitia utilizatorului un mediu de lucru prin care sa-si compileze intreaga distributie din surse, cu optiunile alese de el.&lt;br /&gt;
&lt;br /&gt;
; [http://wwwnew.mandriva.com/ Mandriva] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2006)&lt;br /&gt;
: Distributie usor de utilizat, cunoscuta ca '''Mandrake''' pana de curand, ofera si varianta Enterprise.&lt;br /&gt;
&lt;br /&gt;
; [http://www.slackware.org/ Slackware] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.2)&lt;br /&gt;
: Cunoscuta in mod special pentru simplitate si stabilitate (conform principiului [http://en.wikipedia.org/wiki/KISS_Principle KISS]). Cea mai veche distributie inca mentinuta.&lt;br /&gt;
&lt;br /&gt;
; [http://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.0)&lt;br /&gt;
: Varianta Enterprise a distributiei sustinuta de Novell.&lt;br /&gt;
&lt;br /&gt;
; Familia [http://www.ubuntu.com/ Ubuntu], [http://www.kubuntu.org/ Kubuntu], [http://www.edubuntu.org/ edubuntu] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5.10)&lt;br /&gt;
: Distributii usor de utilizat (bazate pe '''Debian'''), relativ recent aparute, cu o toleranta foarte mare pentru incepatori.&lt;br /&gt;
&lt;br /&gt;
; [http://www.knoppix.org/ KNOPPIX] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4.0.2)&lt;br /&gt;
: Cea mai populara distributie Live-CD (boot-abila). Ruland direct de pe CD, si avand foarte multe programe, este recomandata atat incepatorilor (pot lua contact cu Linux-ul fara a-l instala) cat si utilizatorilor avansati (care au nevoie la un moment dat sa recupereze date de pe un hard-disk ce nu mai boot-eaza, de exemplu).&lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi pornita si rulata direct de pe CD (DVD), fara a instala nimic pe hard-disk, programele si (parte din) sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistemului vostru&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* lucrul pe un calculator fara hard-disk (sau al carui hard-disk este intangibil)&lt;br /&gt;
* rezolvarea unor probleme hardware / testarea memoriei&lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o distributie boot-abila? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur, folosind comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;sudo knoppix-installer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesta este insa un subiect mai avansat si este recomandabil sa cititi FAQ original al Knoppix-ului pentru a afla mai multe detalii. Nu luati acesta posibilitate ca pe un indemn insa. Este doar dovada ca se poate, in cazul in care doriti.&lt;br /&gt;
&lt;br /&gt;
==== Mai sunt distributii interesante, utile pentru teste? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Un proiect foarte interesant este [http://www.damnsmalllinux.org/ Damn Small Linux]. Ceea ce ofera ei (in mod special pentru un utilizator de Windows) este [ftp://ibiblio.org/pub/Linux/distributions/damnsmall/current/dsl-embedded.zip o arhiva zip] in care sa gaseste o mini-distributie embedded Linux. Cu alte cuvinte, o luati, dezarhivati, dati dublu-click pe '''dsl-windows.bat''' si veti avea o surpriza placuta.&lt;br /&gt;
&lt;br /&gt;
O alta mini-distributie care ruleaza direct de pe partitia Windows este [http://www.slackware.org/zipslack/ ZipSlack]. Mai multe informatii despre unde o gasiti - http://www.slackware.org/zipslack/getzip.php.&lt;br /&gt;
&lt;br /&gt;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' veti folosi portage - un sistem de management de pachete inspirat din FreeBSD.&lt;br /&gt;
** Instalarea unui pachet: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Dezinstalarea: &amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;emerge --unmerge pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru mai multe detalii, consultati documentatia de pe [http://www.gentoo.ro/ site-ul comunitatii Gentoo in Romania]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Ca manager de pachete, acesta variaza de la distributie la distributie. [http://linux.duke.edu/projects/yum/ Yum] pare sa fie alegerea cea mai populara. Pentru a afla cum il setam sa utilizeze site-uri mirror din Romania, cititi articolul [[Yum_%C3%AEn_Rom%C3%A2nia | Yum in Romania]]&lt;br /&gt;
** Mandriva foloseste [http://qa.mandriva.com/twiki/bin/view/Main/UrpmiResources urpmi] sau [http://labix.org/smart smart].&lt;br /&gt;
*** ''Familia'' '''urpmi''' ''preia'' toate functiile utilitatului '''rpm''', nemaifiind nevoie sa folositi comenzile scrise mai sus.&lt;br /&gt;
*** Un scurt exemplu de echivalente:&lt;br /&gt;
**** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpmi nume_pachet[.rpm] &amp;lt;/code&amp;gt;&lt;br /&gt;
**** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; urpme nume_pachet&amp;lt;/code&amp;gt;&lt;br /&gt;
*** Cand extensia .rpm este data, urpmi va cauta pachetul local, in directorul curent.&lt;br /&gt;
*** Ca interfete grafice e recomandat sa aveti instalat '''gurpmi''' (permite instalarea unui rpm executand dublu click pe iconita pachetului) si '''rpmdrake''' (interfata de administrare a pachetelor din Mandriva Control Center).&lt;br /&gt;
*** Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Slackware''' se bazeaza pe pachete in format '''tgz'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; installpkg nume_pachet.tgz &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; removepkg nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru a folosi managerul de pachete original dati comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; pkgtool &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager de pachete: [http://directory.fsf.org/slapt-get.html slapt-get].&lt;br /&gt;
** Pentru crearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;tar zxf nume.tgz&lt;br /&gt;
cd nume&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/&lt;br /&gt;
make&lt;br /&gt;
make install DESTDIR=/tmp/nume&lt;br /&gt;
cd /tmp/nume&lt;br /&gt;
makepkg nume.tgz&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''.&lt;br /&gt;
&lt;br /&gt;
* Nu uitati comanda ''man'' care va va da detalii cu privire la folosirea managerului de pachete ales!&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin   - fisiere executabile importante (de ex: ls)&lt;br /&gt;
/boot  - fisiere statice, boot-loader-ul, kernel-ul &lt;br /&gt;
         (de ex: vmlinuz-2.4.27-2-386)&lt;br /&gt;
/etc   - mai toate fisierele importante de configurare sunt &lt;br /&gt;
         aici (de ex: lilo.conf, fstab)&lt;br /&gt;
/dev   - dispozitivele hardware&lt;br /&gt;
/home  - fisierele utilizatorilor (utilizatorul gica isi are &lt;br /&gt;
         home-ul in /home/gica)&lt;br /&gt;
/lib   - biblioteci si module de kernel&lt;br /&gt;
/mnt   - directoarele in care se monteaza alte sisteme de&lt;br /&gt;
         fisiere (de ex, Mandriva monteaza partitia C: &lt;br /&gt;
         a Windows-ului in /mnt/win_c)&lt;br /&gt;
/media - specific mai ales Debian-ului (contine /media/floppy &lt;br /&gt;
         si/sau /media/cdrom, etc... rolul e identic cu cel &lt;br /&gt;
         al directorului /mnt)&lt;br /&gt;
/opt   - software adaugat dupa, de obicei din surse neoficiale &lt;br /&gt;
         (de ex, rpm-urile de la OpenOffice.org)&lt;br /&gt;
/proc  - fiecare proces care ruleaza isi creeaza un director aici&lt;br /&gt;
/root  - home-ul root-ului&lt;br /&gt;
/usr   - ierarhie secundara (contine: /usr/bin, /usr/lib, etc...)&lt;br /&gt;
/sbin  - executabile esentiale de sistem (de ex: shutdown)&lt;br /&gt;
/tmp   - fisiere temporare (asemenea directoare sunt si in home-ul&lt;br /&gt;
         fiecarui user, de ex: /home/gica/tmp)&lt;br /&gt;
/var   - fisiere care se schimba des in timp (de ex: /var/log - &lt;br /&gt;
         jurnale de sistem, /var/cache - fisiere temporare...)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, a se consulta [http://www.pathname.com/fhs/ documentatia oficiala referitoare la ierarhia standard a fisierelor Unix].&lt;br /&gt;
&lt;br /&gt;
Asadar, un pachet cel mai probabil ca isi va pune fisierele si directoarele in mai multe locuri, &amp;quot;imprastiindu-le&amp;quot; dupa rolul lor prin diversele directoare, iar managerul de pachete (daca exista), va sti ce se intampla, dezinstalarea sau oricare alta operatie asupra pachetului fiind facila pentru utilizator.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&lt;br /&gt;
&lt;br /&gt;
==== Ce este o comanda? ====&lt;br /&gt;
&lt;br /&gt;
O comanda este de fapt rularea unui program sau a unui script intr-o consola (fie ea fizica, sau virtuala). De exemplu, un program des utilizat pentru a da comenzi in consola din modul grafic, este Konsole din KDE.&lt;br /&gt;
&lt;br /&gt;
==== Care sunt comenzile esentiale? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;info nume_comanda/fisier_de_configurare&lt;br /&gt;
man nume_comanda/fisier_de_configurare&lt;br /&gt;
apropos ceva&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesti &amp;quot;Cei trei muschetari&amp;quot; sunt '''absolut esentiali'''. Cand cineva va spune RTFM (read the fine manual), probabil ca se refera la aceste comenzi. &lt;br /&gt;
&lt;br /&gt;
'''info''' va da informatii privitoare la comanda respectiva sau la fisierul de configurare in cauza. &lt;br /&gt;
&lt;br /&gt;
'''man''' va da manualul comezii respective sau fisierul de configurare al unui program. In general in josul fisierului veti gasi referinte la comenzi, programe, fisiere de configurare care au legatura cu cel solicitat de voi.&lt;br /&gt;
&lt;br /&gt;
'''apropos''' este o comanda de genul &amp;quot;suna ca&amp;quot;. Poate ca nu stim exact o comanda, dar stim ca are legatura cu ''ceva'' si s-ar putea sa avem noroc sa ne dea ca rezultat ceva folositor.&lt;br /&gt;
&lt;br /&gt;
Daca chiar imi trebuie un utilitar / o comanda si ''apropos'' nu m-a dus unde voiam, [http://www.google.ro Google] s-ar putea sa fie mai viteaz. Bineinteles, nu excludem posibilitatea de a intreba pe altcineva, dar este de bun simt sa cautam si noi singuri pentru ca s-ar putea sa gasim raspunsul in cateva secunde.&lt;br /&gt;
&lt;br /&gt;
Chiar daca nu intra in categoria comenzilor esentiale, putem aduce aminte aici despre o resursa foarte importanta - [http://tldp.org The Linux Documentation Project], unde veti gasi foarte multe ghiduri, tutoriale si pagini de manual utile.&lt;br /&gt;
&lt;br /&gt;
==== Comenzi utile ====&lt;br /&gt;
&lt;br /&gt;
'''info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find'''&lt;br /&gt;
&lt;br /&gt;
Exercitiu: Pentru a afla ce fac fiecare dati '''man ''nume_comanda'' '''.&lt;br /&gt;
&lt;br /&gt;
In cazul in care nu ati observat deja, puteti sa atasati niste optiuni comenzilor pe care le dati. Acestea se manifesta sub forma '''[comanda] --optiune''' de obicei. O astfel de comanda utila (pe care aproape orice program o are), este '''[comanda] --help''' sau '''[comanda] -h''', pentru a va arata o lista de optiuni (de obicei scurta, dar la obiect).&lt;br /&gt;
&lt;br /&gt;
===== Ce fac cu un program care nu se mai opreste? =====&lt;br /&gt;
&lt;br /&gt;
Ori folositi combinatia '''kill PID''', unde PID este un numar (Process ID) aflat la rularea comenzii '''ps aux''', ori dati comanda '''killall nume_comanda'''. De asemenea apasarea tastei '''q''' sau apasarea combinatiei de taste '''CTRL+C''' poate opri rularea unui program in anumite conditii (cand el ruleaza in foreground).&lt;br /&gt;
&lt;br /&gt;
==== Ce este un &amp;quot;shell&amp;quot;? ====&lt;br /&gt;
&lt;br /&gt;
Un interpretor de comenzi. Cel mai utilizat la ora actuala este [http://www.gnu.org/software/bash/ BASH]&lt;br /&gt;
&lt;br /&gt;
===== Bash =====&lt;br /&gt;
&lt;br /&gt;
Iata cateva resurse pentru a afla mai multe despre el: http://www.tldp.org/LDP/abs/html, http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
Conceptul de &amp;quot;programare&amp;quot; in BASH se refera de fapt la a scrie script-uri care sa indeplineasca anumite functii utile. Toate functiile de initializare in sistemele GNU/Linux sunt scrise in BASH sau in SH.&lt;br /&gt;
&lt;br /&gt;
Un script este interpretat si executat direct, nu necesita o compilare ca un program obisnuit.&lt;br /&gt;
&lt;br /&gt;
==== Utilizatorii şi grupurile sistemului ====&lt;br /&gt;
&lt;br /&gt;
Utilizatorii unui sistem se pot vizualiza in /etc/passwd. Majoritatea afisati acolo sunt de tip ''daemon'', adica programe care ruleaza in background fara a fi sub controlul direct al utilizatorului, si de obicei sunt instantiate ca procese de sistem, lansate la '''boot'''. De asemenea, sunt si cativa utilizatori speciali, sub care ruleaza programe de tip server foarte importante. De exemplu:&lt;br /&gt;
* guest - folosit uneori pentru a da acces read-only unor vizitatori&lt;br /&gt;
* ftp   - user-ul folosit pentru conectari anonime la ftp&lt;br /&gt;
* news  - folosit de Usenet&lt;br /&gt;
* lp    - folosit de sistemul de imprimare; vine de la ''line printer''&lt;br /&gt;
* apache/www-data - folosit in special de Apache WebServer&lt;br /&gt;
Si nu in ultimul rand, sunt utilizatorii obisnuiti (umani) ai sistemului. O categorie aparte este '''root''', super-utilizatorul sau, altfel spus, administratorul sistemului, cu drepturi depline asupra lui.&lt;br /&gt;
&lt;br /&gt;
* Daca sunteti un utilizator obisnuit, linia de comanda va arata asa:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;andrei@acasa:/home/andrei$&amp;lt;/code&amp;gt;&lt;br /&gt;
* Daca sunteti '''root''' (administratorul sistemului):&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;root@acasa:/home/root#&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bineinteles, toate modificarile majore asupra sistemului trebuie facute ca '''root''', dar atentie ca '''nu''' este recomandat sa folositi in mod ''curent'' acest utilizator, deoarece puteti face greseli destul de mari la inceput, care sa afecteze definitiv integritatea sistemului avand in vedere ca aveti drepturi depline.&lt;br /&gt;
&lt;br /&gt;
Grupurile unui sistem se află trecute în /etc/groups. La crearea unui utilizator, dacă nu se specifică altfel, se creează un nou grup cu aceeaşi denumire a utilizatorului, care va conţine acel utilizator. Grupurile sunt importante, ajutând utilizatorii aceluiaşi sistem să folosească în comun anumite resurse. Un grup poate conţine oricâţi utilizatori, dar un utilizator nu poate face parte decât din maxim 32 de grupuri simultan!&lt;br /&gt;
De exemplu, într-o universitate există grupuri separate pentru fiecare facultate, an, grupă, etc. De asemenea există grupuri şi pentru fiecare catedră în parte. Un profesor de matematică poate face parte, de exemplu, din grupul facultăţii la care predă, din grupul seriilor la care predă, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum adaug / sterg utilizatori din sistem? =====&lt;br /&gt;
&lt;br /&gt;
Cu comenzile: '''useradd, userdel, groupadd, groupdel'''. '''man ''comanda'' ''' pentru detalii, unde ''comanda'' se va inlocui cu una din variantele anterioare.&lt;br /&gt;
&lt;br /&gt;
===== Cum schimb parola unui utilizator? =====&lt;br /&gt;
&lt;br /&gt;
Cu comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
Daca sunteti root, puteti schimba parola oricui:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;passwd gigel&amp;lt;/code&amp;gt; unde gigel trebuie sa fie un utilizator valid din sistem.&lt;br /&gt;
&lt;br /&gt;
==== Permisiuni ====&lt;br /&gt;
&lt;br /&gt;
Un subiect foarte important în UNIX în general, prea puţin discutat în Windows. Deschideţi o consola şi daţi comanda:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;ls -l&amp;lt;/code&amp;gt;&lt;br /&gt;
Pe prima coloană va apărea ceva de genul: ''drwxr-xr-x''. Ce înseamă asta?&lt;br /&gt;
* primul caracter:&lt;br /&gt;
** - == fişier&lt;br /&gt;
** d == director&lt;br /&gt;
** l == symlink (legătură simbolică)&lt;br /&gt;
** s == socket (conexiune prin retea)&lt;br /&gt;
** p == pipe (conducta intre doua programe)&lt;br /&gt;
** c == character device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de caracter, e.g. un port serial)&lt;br /&gt;
** b == block device (fisier special corespondent unui dispozitiv de intrare/iesire la nivel de bloc, e.g. un disc dur)&lt;br /&gt;
* următoarele 3 caractere == drepturile utilizatorului care deţine fişierul (a se vedea a 3-a coloană)&lt;br /&gt;
* următoarele 3 caractere == drepturile grupului care deţine fişierul (a se vedea a 4-a coloană)&lt;br /&gt;
* ultimele 3 caractere == drepturile celorlalţi&lt;br /&gt;
** r == drepturi de citire&lt;br /&gt;
** w == drepturi de scriere&lt;br /&gt;
** x == drepturi de execuţie pentru fisiere sau de descindere/traversare pentru directoare&lt;br /&gt;
&lt;br /&gt;
Schimbarea proprietarului unui fişier/director se face cu comanda:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown $utilizator[:$grup] $fisier [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
Pentru a schimba proprietarul tuturor subdirectoarelor şi fişierelor dintr-un director:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;chown -R $utilizator[:$grup] $director [, ...]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schimbarea drepturilor se face într-un mod oarecum asemănător:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod a-x $fisier&lt;br /&gt;
chmod a+r $fisier&lt;br /&gt;
chmod o+wx -R $director&lt;br /&gt;
chmod g+rw $fisier&amp;lt;/code&amp;gt;&lt;br /&gt;
Unde:&lt;br /&gt;
* a == all; se aplică regula pentru utilizatorul proprietar, grupul proprietar şi restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* o == others; se aplică regula pentru restul utilizatorilor şi grupurilor din sistem&lt;br /&gt;
* u == user; regula se aplică pentru utilizatorul proprietar&lt;br /&gt;
* g == group; regula se aplică pentru grupul proprietar&lt;br /&gt;
* -/+ == luăm/dăm drepturi&lt;br /&gt;
* r/w/x == dreptul de citire/scriere/execuţie (sau traversare)&lt;br /&gt;
Foarte logice aceste comenzi dar un admin adevărat nu îşi permite să piardă timpul! :) El va acorda/lua permisiuni folosind o reprezentare a lor in octal (baza 8), unde:&lt;br /&gt;
* 4 == dreptul de citire&lt;br /&gt;
* 2 == dreptul de scriere&lt;br /&gt;
* 1 == dreptul de execuţie&lt;br /&gt;
Exemplu de folosire:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
chmod 755 $fisier # echivalent cu &amp;quot;chmod u+rwx,g+rw,o+rw $fisier&amp;quot;&lt;br /&gt;
chmod 644 $fisier # echivalent cu &amp;quot;chmod u+rw,g+r,o+r $fisier&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Mult mai ... amuzant!&lt;br /&gt;
Important e de asemenea, '''chmod 0'''! Această comandă ia toate drepturile asupra fişierului, fiind utilă, de exemplu, pentru a pune fişierul în ''carantină''.&lt;br /&gt;
&lt;br /&gt;
Nu putem închide acest capitol fără a explica nişte noţiuni pe care le-am introdus:&lt;br /&gt;
* link-ul/legătura/scurtătura == o noţiune ceva mai complexă decât în Windows. Vom crea şi scrie ceva într-un fişier, iar apoi vom face un symlink/simbolic link/legătură simbolică spre el.&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ echo -e &amp;quot;salut\n&amp;quot; &amp;gt; fisier&lt;br /&gt;
$ cat fisier&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l fisier&lt;br /&gt;
-rw-r--r--  1 johndoe johndoe 6 May  8 21:59 fisier&lt;br /&gt;
$ ln -s fisier bla&lt;br /&gt;
$ cat bla&lt;br /&gt;
salut&lt;br /&gt;
$ ls -l bla&lt;br /&gt;
lrwxrwxrwx  1 johndoe johndoe 6 May  8 22:02 bla -&amp;gt; fisier&lt;br /&gt;
$ rm bla&lt;br /&gt;
rm: remove symbolic link `bla'? y&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* dreptul de execuţie. Mulţi utilizatori începători se lovesc de problema asta. Scrieţi textul acesta într-un fişier numit... ''fisier'':&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
echo Hello World!&lt;br /&gt;
exit 0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; E un exemplu de script shell. Să încercăm să îl rulăm:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ ./fisier&lt;br /&gt;
bash: ./fisier: Permission denied&lt;br /&gt;
$ sh fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;După ce îi dăm drepturi de execuţie:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&amp;lt;nowiki&amp;gt;$ chmod 755 fisier&lt;br /&gt;
$ ./fisier&lt;br /&gt;
Hello World!&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Dand comanda '''fdisk -l''' veti putea vedea toate partitiile din sistem. Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] care va va raspunde la intrebarea din titlu si la multe altele.&lt;br /&gt;
&lt;br /&gt;
Pe scurt, comanda '''mount''' este ceea ce cautati. '''man mount''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Care este sintaxa?&lt;br /&gt;
&lt;br /&gt;
'''mount -t tip_sistem_de_fisiere device /cale/unde/vreau/sa/montez'''&lt;br /&gt;
&lt;br /&gt;
De exemplu daca vreau sa montez o partitie FAT32 (cea de-a doua partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t vfat /dev/hda2 /mnt/hda2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie NTFS (cea de-a treia partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ntfs /dev/hda3 /mnt/hda3 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o partitie ext3 (cea de-a cincea partitie de pe hard-disk-ul meu sa zicem) dau comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/hda5 /mnt/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o discheta (al carei sistem de fisiere este ext3):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t ext3 /dev/fd0 /mnt/floppy &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez un CD/DVD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 /dev/cdrom /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daca vreau sa montez o imagine de CD/DVD in format '''iso''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mount -t iso9660 -o loop /home/imagine.iso /mnt/cdrom &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pentru a de-monta un device, avand in vedere un exemplu de mai sus, dati comanda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; umount /dev/hda5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note aditionale'''&lt;br /&gt;
&lt;br /&gt;
* '''/mnt/hda2''', '''/mnt/cdrom''', '''/mnt/floppy''' etc. trebuie sa fie un directoare deja existente, bineinteles, eventual create chiar de noi anterior.&lt;br /&gt;
* Fisierul care se ocupa cu montarea tuturor device-urilor la pornirea sistemului este /etc/'''fstab'''. Acolo trebuie sa operati modificarile pentru a va retine setarile.&lt;br /&gt;
* Parametrul &amp;quot;-t tip_sistem_de_fisiere&amp;quot; poate lipsi de cele mai multe ori, gasind automat ce sistem de fisiere are partitia pe care vreti sa o montati.&lt;br /&gt;
* Unele comenzi nu vor merge &amp;quot;din prima&amp;quot; avand in vedere ca trebuie sa adaptati informatiile prezentate mai sus pentru sistemul vostru. Un caz bine de retinut este cel al lui /dev/cdrom, care de cele mai multe ori este o &amp;quot;scurtatura&amp;quot; (symbolic link, vezi '''man ln''') catre un device real, gen /dev/hdc, daca /dev/hdc este identificat ca fiind CD-ROM-ul vostru de Linux.   &lt;br /&gt;
* In majoritatea cazurilor, daca dati o comanda de mount, veti avea drept de citire si de scriere pe partitia/device-ul respectiv. Cum NTFS este o tehnologie inchisa, implementarea lui in kernelul Linux nu este inca completa si dreptul de scriere este foarte limitat. Daca doriti totusi sa faceti acest lucru neaparat (asumandu-va riscul ca partitia respectiva sa devina neutilizabila), aruncati un ochi pe proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notă amuzantă: În cazul în care vi se pare de undeva cunoscut numele comenzii '''mount''', s-ar putea să fie de la utilitarul de Windows '''Daemon Tools'''. Vă aduceţi aminte că pentru a putea vedea o imagine a unui CD trebuia să creeaţi un CD-ROM virtual şi să &amp;quot;montaţi&amp;quot; în el imaginea dorită? Ei bine, acţiunea este similară cu comanda '''mount''' sub Linux.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sisteme de fisiere ====&lt;br /&gt;
&lt;br /&gt;
Pe Windows avem trei sisteme de fisiere &amp;quot;populare&amp;quot;: FAT16, FAT32 si NTFS. Sub Linux, avem o intreaga suita: ext2, ext3, jfs, reiserfs, xfs si multe altele care necesita patch-uirea kernelului si recompilarea lui. In linii mari, toate sunt bune pentru un anumit scop. Nu va astepati sa fie un sistem de fisiere universal care sa indeplineasca toate cerintele posibile. Comparatii cu privire la actualele sisteme de fisiere puteti gasi pe [http://www.google.ro Google] cu duiumul, insa numai voi decideti care se potriveste mai bine scopului vostru.&lt;br /&gt;
&lt;br /&gt;
Personal eu utilizez pentru partitiile de Windows FAT32 si pentru partitiile de Linux ext3, deoarece sunt foarte bine  &amp;quot;impamantate&amp;quot;, avand in vedere vechimea lor. Cu alte cuvinte de pe Windows am acces read/write la partitiile Linux ext3 cu ajutorul proiectului [http://sourceforge.net/projects/ext2fsd Ext2 File System Driver for NT/2K/XP], dar atentie ca nu este lipsit complet de riscuri. Pana acum eu nu am avut probleme, dar va sfatuiesc sa nu incercati astfel de pozne daca aveti date importante pe partitiile pe care vreti sa faceti operatii.&lt;br /&gt;
&lt;br /&gt;
Sub Linux, accesul read/write la partitiile FAT32 este implementat de mult timp, asadar alegerile pe care le-am facut eu sunt clare. Voi, ramane sa va ganditi daca aveti nevoie de acesta flexibilitate cu pretul unor performante ceva mai scazute.&lt;br /&gt;
&lt;br /&gt;
In ceea ce priveste NTFS, pentru accesul read-only de sub Linux exista implementare direct in kernel, dar pentru acces de scriere, este mai complicata situatia. Se poate scrie cu modulul (driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Aici intervin cele mai cunoscute programe de acest tip pentru platforma Linux: GRUB si LILO. Pentru CD-ROM-uri si dischete, avem: [http://syslinux.zytor.com/ syslinux] si [http://syslinux.zytor.com/iso.php isolinux].&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
Pagina oficiala este [http://www.gnu.org/software/grub/ GRUB], iar cele mai bune informatii referitoare la subiect le puteti gasi in [http://www.gnu.org/software/grub/manual/grub.html GRUB Manual].&lt;br /&gt;
&lt;br /&gt;
Iata cateva o metoda pe care le-am folosit-o pana acum cand am avut probleme. Ea implica instalarea manuala a GRUB-ului, motiv pentru care se recomanda dezinstalarea variantei venita o data cu sistemul vostru.&lt;br /&gt;
&lt;br /&gt;
Dar inainte de toate, cititi documentatia oficiala! Dati comanda '''info grub''' intr-o consola sau alternativ consultati documentaia online la adresa http://www.gnu.org/software/grub/manual/.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa folositi instalarea care vine o data cu sistemul vostru, atunci nu aveti decat sa modificati fisierul '''grub.conf''' sau '''menu.lst''' dupa caz pentru a adauga optiunile pe care le doriti. In caz ca nu mai este functionala acea varianta de GRUB, presupunand ca boot-loader-ul de Windows a rescris MBR-ul sau altceva asemanator s-a intamplat, urmati pasii:&lt;br /&gt;
&lt;br /&gt;
# Boot-ati de pe un Live CD, Knoppix de exemplu.&lt;br /&gt;
# Intrati in consola.&lt;br /&gt;
# Daca nu sunteti root(administratorul sistemului) dati comanda '''su -'''.Acesta este trucul pentru a deveni root in Knoppix, insa nu este universal valabil, deoarece de obicei cere o parola.&lt;br /&gt;
# Creati un director. ('''man mkdir''') Exemplu: '''mkdir /hard'''&lt;br /&gt;
# Montati partitia unde se gaseste GRUB. Exemplu: '''mount /dev/hda2 /hard'''. De notat ca GRUB isi instaleaza fisiere de configurare in directorul /boot/grub, deci daca directorul /boot se gaseste pe alta partitie (cum recomanda unele distributii), comanda ''mount'' data de voi trebuie sa reflecte locatia corecta.&lt;br /&gt;
# Daca partitia unde se gaseste GRUB este diferita de cea unde se gaseste sistemul, montati si sistemul, urmand exemplele anterioare.&lt;br /&gt;
# Dati comanda: &amp;lt;code&amp;gt; grub-install /dev/hda &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Altfel, varianta mai dificila un pic este:&lt;br /&gt;
&lt;br /&gt;
# Luati o discheta care sa nu va trebuiasca prea curand si puneti-o in floppy-disk drive.&lt;br /&gt;
# Luati varianta [ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz 0.97] (de exemplu).&lt;br /&gt;
# Dezarhivati-o ([http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Cum_utilizez_tar.3F_.28arhivare.2Fdezarhivare.29 exemplu aici])&lt;br /&gt;
# Dati comanda '''./configure &amp;amp;&amp;amp; make install''' in noul director dezarhivat. Acum ar trebui sa aveti o versiune de GRUB compilata chiar in fata ochilor vostri.&lt;br /&gt;
# Daca BIOS-ul este setat sa booteze prima data de pe discheta, lasati discheta inauntru. Daca nu, dupa ce ati terminat toate aceste operatii si dati reboot, nu uitati sa setati in BIOS sa booteze prima data de pe discheta. &lt;br /&gt;
# Apoi, dati comenzile urmatoare pentru a crea o discheta boot-abila de GRUB, noi fiind tot in directorul initial, in care am compilat programul. &amp;lt;code&amp;gt;dd if=stage1 of=/dev/fd0 bs=512 count=1 &amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;dd if-stage2 of=/dev/fd0 bs=512 seek=1 &amp;lt;/code&amp;gt;&lt;br /&gt;
# Identificati partitiile. Un '''fdisk -l''' ar trebui sa va dea suficiente informatii. Atentie ca GRUB vede partitiile altfel decat sistemul de operare. Este destul de intuitiva notatia, dar daca nu va descurcati, '''info grub'''.&lt;br /&gt;
# Copiati toate fisierele din directorul nostru de lucru (cel in care am compilat noul GRUB) in '''/boot/grub'''. Daca directorul din urma nu exista, il creati.&lt;br /&gt;
# Dati reboot (CTRL+ALT+DEL), iar el va boota de pe discheta (daca asa e setat din BIOS, vedeti mai sus indicatia).&lt;br /&gt;
# Daca ati facut ce trebuia, el va incarca GRUB de pe discheta si va veti gasi in fata unei &amp;quot;pseudo-console&amp;quot;, o interfata de dat comenzi de fapt. &lt;br /&gt;
# Puteti da comenzile '''root(hd0,1)''' si '''setup (hd0)''' de exemplu, asta presupunand ca partitia este '''hda2''' si hard-discul este ''hda''. '''Adaptati dupa caz!''' Acum ar trebui sa aveti o idee cam cum le noteaza, nu-i asa? In principal, fiti atenti ca el incepe notatia de la 0, nu de la 1. Adica, in exemplul nostru (hd0,1) corespunde lui /dev/hda2 de pe hard-disk-ul primar (hd0).&lt;br /&gt;
&lt;br /&gt;
Iata si un exemplu de fisier de configurare (cu cateva exemple in el), citat din '''/boot/grub/menu.lst''' :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# menu.lst - See: grub(8), info grub, update-grub(8)&lt;br /&gt;
#            grub-install(8), grub-floppy(8),&lt;br /&gt;
#            grub-md5-crypt, /usr/share/doc/grub&lt;br /&gt;
#            and /usr/share/doc/grub-doc/.&lt;br /&gt;
&lt;br /&gt;
## default num&lt;br /&gt;
# Set the default entry to the entry number NUM. Numbering starts &lt;br /&gt;
# from 0, and the entry number 0 is the default if the command is&lt;br /&gt;
# not used.&lt;br /&gt;
#&lt;br /&gt;
# You can specify 'saved' instead of a number. In this case, the &lt;br /&gt;
# default entry is the entry saved with the command 'savedefault'.&lt;br /&gt;
default         0&lt;br /&gt;
&lt;br /&gt;
## timeout sec&lt;br /&gt;
# Set a timeout, in SEC seconds, before automatically booting the &lt;br /&gt;
# default entry (normally the first entry defined).&lt;br /&gt;
#timeout                10&lt;br /&gt;
&lt;br /&gt;
## hiddenmenu&lt;br /&gt;
# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;
#hiddenmenu&lt;br /&gt;
&lt;br /&gt;
# Pretty colours&lt;br /&gt;
#color cyan/blue white/blue&lt;br /&gt;
&lt;br /&gt;
## password ['--md5'] passwd&lt;br /&gt;
# If used in the first section of a menu file, disable all interactive&lt;br /&gt;
# editing control (menu entry editor and command-line)  and entries&lt;br /&gt;
# protected by the command 'lock'&lt;br /&gt;
# e.g. password topsecret&lt;br /&gt;
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/&lt;br /&gt;
# password topsecret&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# examples&lt;br /&gt;
#&lt;br /&gt;
# title         Windows 95/98/NT/2000&lt;br /&gt;
# root          (hd0,0)&lt;br /&gt;
# makeactive&lt;br /&gt;
# chainloader   +1&lt;br /&gt;
#&lt;br /&gt;
# title         Linux&lt;br /&gt;
# root          (hd0,1)&lt;br /&gt;
# kernel        /vmlinuz root=/dev/hda2 ro&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
## ## End Default Options ##&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686&lt;br /&gt;
#lock       # -&amp;gt; Optiune utila daca este activata parola md5, acesta &lt;br /&gt;
            # oprind accesul daca nu este introdusa o parola valida.&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro quiet splash&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
savedefault&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, kernel 2.6.12-10-686 (recovery mode)&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/vmlinuz-2.6.12-10-686 root=/dev/hda2 ro single&lt;br /&gt;
initrd      /boot/initrd.img-2.6.12-10-686&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
title       Ubuntu, memtest86+&lt;br /&gt;
root        (hd0,1)&lt;br /&gt;
kernel      /boot/memtest86+.bin&lt;br /&gt;
boot&lt;br /&gt;
&lt;br /&gt;
### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;
&lt;br /&gt;
# This is a divider, added to separate the menu items below from&lt;br /&gt;
# the Debian ones.&lt;br /&gt;
title           Other operating systems:&lt;br /&gt;
root&lt;br /&gt;
&lt;br /&gt;
title           FreeBSD&lt;br /&gt;
root            (hd0,2,a)&lt;br /&gt;
&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,3)&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
# Acesta ultima operatie incarca boot-loader-ul Windows cu ajutorul&lt;br /&gt;
# lui GRUB (operatie numita chainload)&lt;br /&gt;
&lt;br /&gt;
# Pentru operatii mai sofisticate legate de Windows, vedeti &lt;br /&gt;
# sectiunile: hide, map si makeactive din manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''N.a.:'' '''[FIXME]''' De adaugat si completat daca mai e ceva, in principiu vreau sa-l fac tutorial separat si il voi muta intr-un alt articol, aici venind un link catre el.&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Articol despre LILO. Aveti un articol despre LILO sau un link catre unul foarte bun? Puneti-l aici.&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatorul meu? ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;/proc&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
In lucru! Va aparea in curand. --[[User:Andrei Ristea|Andrei Ristea]] 16:43, 28 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Kernelul Linux (in limba romana romana &amp;quot;nucleu&amp;quot;), este supra-programul care guverneaza modul in care aplicatiile au voie sa functioneze, in ce parametri, cu ce drepturi, cata memorie sa fie alocata s.a.m.d. Este &amp;quot;generalul&amp;quot; sistemului de operare, daca vreti sa-i spuneam asa.&lt;br /&gt;
&lt;br /&gt;
Avantajul nucleului creat de Linus Torvalds fata de alte variante cu sursa inchisa este faptul ca il puteti compila chiar voi creand astfel ceva optimizat, fix pentru sistemul vostru, dand astfel un spor de performanta si securitate.&lt;br /&gt;
&lt;br /&gt;
Mai mult, avand sursele, puteti gasi patch-uri pentru el care sa-i imbogateasca functionalitatea si tot ce aveti de facut este sa il recompilati activand noile optiuni.&lt;br /&gt;
&lt;br /&gt;
Nota explicativa: Procesul de aplicare al unui patch este foarte simplu: patch -pX &amp;lt; nume.patch, unde X este un numar. '''man patch''' pentru detalii.&lt;br /&gt;
&lt;br /&gt;
Din generatia noua de nuclee mentionam ramurile 2.4 si 2.6 care vor fi explicate mai in detaliu in cele ce urmeaza. Scopul prezentarilor urmatoare este sa va indice ce inseamna diversele sectiuni pe care le veti intalni pe parcursul compilarii si cateva din optiunile cele mai importante, astfel incat sa puteti alege singuri optinunile pe care le doriti.&lt;br /&gt;
&lt;br /&gt;
In primul rand, trebuie sa luam sursele si sa ne asiguram ca avem pe sistemul nostru toate cele necesare compilarii efective. Pentru usurinta, vom lua doua exemple de fisiere de configurarea din Slackware 10.2. Motivul? Sursele care vin o data cu Slackware nu sunt modificate in nici un fel si ne ofera noua o metoda mai comoda de a lucra, pornind deja de la o baza (de la un fisier config functional), nefiind necesar sa setam absolut totul de la baza.&lt;br /&gt;
&lt;br /&gt;
De fapt, acesta este unul dintre cele mai bune sfaturi pe care vi le pot da, pana cand veti prinde chichitele compilarii si anume: porniti de la un config bun si incepeti sa rafinati optiunile, respectiv sa dezactivati suportul pentru ceea ce nu aveti nevoie. Atentie insa, pastrati suportul macar in stadiu de modul pentru anumite optiuni pe care este posibil sa le folositi in viitor dar nu stiti sigur.&lt;br /&gt;
&lt;br /&gt;
Ce sunt modulele? In momentul in care compilati aveti posibilitatea de a ctiva suportul direct in kernel pentru ceva, respectiv sa il dezactiva... sau sa il compilati ca modul. Modulul poate fi folosit (incarcat in kernel) la rulare sau nu, depizand de ce vreti sa faceti.&lt;br /&gt;
&lt;br /&gt;
Avand in vedere ca toate interfetele de comunicare cu dispozitivele fizice sunt introduse chiar in kernel, puteti sa compilati acest suport chiar ca modul. Adesea noi ne referim la module cu &amp;quot;drivere&amp;quot;, in linii mari putand spune ca sunt echivalentele driverelor de pe Windows, avand insa un spor mare de viteza ruland direct in kernel.&lt;br /&gt;
&lt;br /&gt;
Majoritatea distributiilor mari creeaza un kernel generic cu toate optiunile compilate ca modul, nestiind ce setup are fiecare utilizator pe calculatorul lui, ruland scripturi la initializarea sistemului pentru detectia hardware si incarcarea modulelor specifice. Acesta este de fapt motivul pentru care este de preferat sa pornim de la un astfel de un fisier config, oferindu-ne o configurare functionala, tocami buna pentru a o lua noi la rafinat.&lt;br /&gt;
&lt;br /&gt;
De asemenea, pentru a ne usura munca este de preferabila o interfata grafica (make xconfig sau make gconfig) usor de folosit pentru a avea la dispozitie toate optinile necesare, accesibilitatea facila la sistemul de ajutor [HELP] si modificari ulteriosre in cazul in care m gresit ceva.&lt;br /&gt;
&lt;br /&gt;
Copierea surselor pe calculatorul vostru&lt;br /&gt;
&lt;br /&gt;
Sursele originale le veti gasi la ftp://ftp.kernel.org/pub/linux/kernel&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus vom lua ca exemplu un config si sursele (identice cu cele oficiale) din distributia Slackware &lt;br /&gt;
atat pentru 2.4 cat si pentru 2.6.&lt;br /&gt;
&lt;br /&gt;
Config-ul pentru kernelul nostru de test 2.4: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/config&lt;br /&gt;
Sursele pentru kernelul 2.4: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/source/k/linux-2.4.31.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Config-ul pentru kernelul nostru de test 2.6: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/config-2.6.13&lt;br /&gt;
Sursele pentru kernelul 2.6: http://ftp.iasi.roedu.net/mirrors/ftp.slackware.com/slackware-10.2/testing/source/linux-2.6.13/linux-2.6.13.tar.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.4&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make deps&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cerinte 2.6&lt;br /&gt;
&lt;br /&gt;
Compilarea efectiva (pasi)&lt;br /&gt;
&lt;br /&gt;
make xconfig sau make gconfig&lt;br /&gt;
&lt;br /&gt;
Incarcarea config-ului - meniul Load&lt;br /&gt;
&lt;br /&gt;
Dupa ce ati configurat ce era de configurat:&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
make modules_install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optiuni de compilare si ce semnifica fiecare sectiune (asemanari si deosebiri 2.4, 2.6):&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (echivalentul driver-elor) ====&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
In linii mari instalarea unei distributiii se reduce la:&lt;br /&gt;
* pornirea programului de instalare la boot (de obicei de pe un CD)&lt;br /&gt;
* detectarea sumara a hardware-ului&lt;br /&gt;
* partitionarea harddisk-ului&lt;br /&gt;
* instalarea efectiva a sistemului&lt;br /&gt;
* ultimele retusuri; configurarea hardware-ului, instalarea boot-loader-ului.&lt;br /&gt;
&lt;br /&gt;
Cea mai importanta parte este partitionarea. Sa vedem ceva notiuni de baza:&lt;br /&gt;
* pe un hard-disk pot exista pana la 4 partitii primare si una extended ce poate contine oricate partitii logice.&lt;br /&gt;
* pentru a instala Linux-ul aveti nevoie de cel putin doua partitii de orice tip (primare, logice, una primara si cealalta logica):&lt;br /&gt;
** o partitie '''swap'''&lt;br /&gt;
*** va fi formatata folosind sistemul de fisiere '''swap'''&lt;br /&gt;
*** nu va avea punct de montare&lt;br /&gt;
*** dimensiunea recomandata: dublul cantitatii de memorie RAM instalata pe calculator, dar nu mai mult de 2 Gb&lt;br /&gt;
*** e mai mult un mit in ziua de azi (datorita hard-disk-urilor rapide), dar cu cat e mai aproape de primul sector al hard-disk-ului (centrul platanului), cu atat e mai bine&lt;br /&gt;
*** kernel-ul va folosi spatiul de pe aceasta partitie pentru a suplini memoria calculatorului&lt;br /&gt;
** o partitie '''root'''&lt;br /&gt;
*** s-a discutat deja despre sisteme de fisiere; '''ext3''' este cel mai folosit momentan&lt;br /&gt;
*** punctul de montare este: '''/'''&lt;br /&gt;
*** dimensiune recomandata: in functie de imprejurari; aproximativ 5Gb e destul in general; mai putin pentru un server care nu are interfata grafica instalata; 8 - 10Gb pentru o instalare completa&lt;br /&gt;
* alte partitii:&lt;br /&gt;
** pentru server-e este important ca /var si /tmp sa fie partitii separate; /var/log, /var/cache, etc, pot deveni foarte mari si e bine sa nu deranjeze alte directoare, iar /tmp este, in general, accesibil oricui - de aceea se monteaza separat cu optiunea ''noexec'' (un fel de ''chmod -x'' pentru fiecare fisier de acolo)&lt;br /&gt;
** pentru un desktop e chiar ideal ca /home sa fie partitie separata; va permite reinstalarea usoara a sistemului, chiar schimbarea distributiei (se alege formatarea partitiei ''root'' si lasarea intacta a celei ''home''); dupa pornire sistemul va arata ca inainte (cel putin din punctul de vedere al utilizatorului), datele importante si setarile fiind pastrate de fiecare utilizator in ''home''-ul sau&lt;br /&gt;
&lt;br /&gt;
Fiecare distributie are un model de dezvoltare. Acesta presupune existenta a cel putin doua ramuri (una cu pachete considerate stabile (in general cu versiuni mai vechi) si alta cu pachete noi, instabile) si a unor reguli care stabilesc clar drumul pe care trebuie sa il strabata un pachet pentru a ajunge din ramura instabila in cea stabila. In functie de cerere si de sectorul de utilizare pe care il vizeaza fiecare distributie in parte, modelul de dezvoltare se modifica in timp, imbunatatindu-se continuu.&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
==== Debian ====&lt;br /&gt;
&lt;br /&gt;
O distributie cu un iz ''geek''... Poate speria utilizatorul incepator, oferind doar un installer text. Nu este cazul: installer-ul acesta este probabil unul din cele mai intuitive dintre toate installer-urile text pe care le veti gasi in lumea Linux!&lt;br /&gt;
&lt;br /&gt;
Dar, inainte de instalare, sa vedem ce &amp;quot;fel&amp;quot; de Debian putem alege:&lt;br /&gt;
* ''stable'' - nume de cod Sarge! E o alegere perfecta pentru server-e sau pentru desktop-urile celor mai conservatori. Are pachete (deci, aplicatii) mai vechi, dar cu siguranta foarte bine testate si ''rock-solid''.&lt;br /&gt;
* ''unstable'' - nume de cod Sid! Daca azi apare un nou XMMS, de exemplu, mai mult ca sigur, maine acest nou XMMS e in Debian ''unstable''. E o alegere relativ buna pentru cei cu adrenalina, care vor ''bleeding edge''.&lt;br /&gt;
* ''testing'' - nume de cod Etch! Nu-i nici ''stable'' nici ''unstable''. Daca azi apare un nou XMMS, nu conteaza... dar e posibil ca maine, XMMS-ul din ''testing'' sa primeasca &amp;quot;aprobare&amp;quot; si sa fie mutat in ramura ''stable''. O alegere relativ buna pentru desktop.&lt;br /&gt;
&lt;br /&gt;
V-ati decis! Atunci, punctul de plecare este [http://www.debian.org/distrib/ Getting Debian]. Lasand la o parte instalarea de pe floppy (fara sa fim carcotasi... dar totusi, e depasita) si indiferent daca alegeti CD-ul minimal pentru netinstall sau CD-urile &amp;quot;complete&amp;quot;, instalarea decurge in principal la fel:&lt;br /&gt;
* dupa ce ati boot-at de pe CD, scrieti &amp;quot;linux26&amp;quot; la prompt, inainte de a continua. Astfel sistemul se va instala cu kernel 2.6&lt;br /&gt;
* urmeaza cateva intrebari de baza si detectia hardware-ului&lt;br /&gt;
* se seteaza reteaua&lt;br /&gt;
* la capitolul partitionare installer-ul ofera o interfata deosebit de prietenoasa pentru un mod text. Aveti grija la emoticonuri si fulgere... pe bune!&lt;br /&gt;
* urmeaza instalarea pachetelor&lt;br /&gt;
* se instaleaza si boot-loader-ul; GRUB e recomandat, pe MBR (Master Boot Record)&lt;br /&gt;
* se mai seteaza si ultimele detalii, sunt adaugati utilizatorii si e gata!&lt;br /&gt;
&lt;br /&gt;
Pentru detalii, consultati [http://www.debian.ro/ pagina oficiala a comunitatii Debian in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
&lt;br /&gt;
Recunoscuta ca distributia cu cel mai usor proces de instalare, ofera foarte multe variante si metode de instalare. &lt;br /&gt;
&lt;br /&gt;
La Debian am discutat despre ramuri... La Mandriva avem:&lt;br /&gt;
* ''Official'' - este distributia stabila. Mentine un echilibru intre pachete vechi si pachete noi, stabilitate versus noutate. Folosing medii/repository-uri neoficiale ce contin pachete ''Cooker'' &amp;quot;stabilizate&amp;quot;, puteti avea un ''Official'' cu versiuni noi la toate pachetele.&lt;br /&gt;
* ''Cooker'' - nume de cod pentru ramura ''unstable''. E ''bleeding-edge''-ul de la Mandriva. Bucataria frantuzeasca in care se amesteca azi XMMS-ul lansat ieri. E, in general, mai instabil decat Debian unstable, in mare parte datorita experimentelor care se fac pe pachetele care alcatuiesc Mandriva Control Center (se lucreaza foarte mult la adaugarea de noi module si la imbunatatirea detectiei hardware) si pe KDE (fiind o distributie KDE-centrica, cei de la Mandriva incearca sa stoarca mereu si ultima picatura de performanta pentru a-i mari viteza de rulare).&lt;br /&gt;
&lt;br /&gt;
Versiunea ''Free'' (cea fara programe care nu sunt compatibile GPL) poate fi descarcata pornind de pe [http://www.mandriva.com/en/downloads/mirrors pagina oficiala de download].&lt;br /&gt;
&lt;br /&gt;
Puteti alege dintre urmatoarele:&lt;br /&gt;
* 3 CD-uri care acopera o arie larga de aplicatii si driver-e, toate GPL&lt;br /&gt;
** primul CD este suficient pentru o instalare minimala cu ''urpmi'', ''Xorg'', ''KDE'', ''iceWM''&lt;br /&gt;
** si primul si al doilea CD sunt boot-abile si includ utilitare de recuperare (foarte util este utilitarul de (re)instalat boot-loader-ul) accesibile apasand F1 inainte de lansarea procesului de instalare&lt;br /&gt;
* DVD - insumeaza cele 3 CD-uri de mai sus&lt;br /&gt;
* One - Live CD instalabil&lt;br /&gt;
* Mini - CD cu un Mandriva minimal, pentru netinstall&lt;br /&gt;
&lt;br /&gt;
Daca ati ales sa instalati de pe CD-uri sau DVD, instalarea va decurge dupa cum urmeaza:&lt;br /&gt;
* Installer-ul standard are interfata grafica si se lanseaza automat. Pentru installer-ul text trebuie sa apasati F1 inainte ca installer-ul grafic sa porneasca.&lt;br /&gt;
* O particularitate Mandriva este nivelul de securitate pe care doriti sa il aveti in sistem. In general ''Standard'' e recomandat pentru desktop (permite utilizatorilor de rand sa scrie pe partitiile Windows FAT32, de exemplu). ''High'' sau ''Paranoid'' sunt pentru server-e in special. &lt;br /&gt;
* La capitolul partitionare, installer-ul e bine pregatit. DiskDrake ofera mai multe facilitati. Daca se alege varianta &amp;quot;Custom&amp;quot;, DiskDrake prezinta o interfata foarte prietenoasa in care oricine se poate descurca fara probleme.&lt;br /&gt;
* urpmi intra apoi in scena! Foarte discret, mascat mereu de interfete grafice, el intreaba de CD-uri, FTP-uri, HTTP-uri, etc... Intr-un cuvant: repository-uri/depozite de pachete. Apoi aseaza &amp;quot;pe masa&amp;quot; ce are la dispozitie. Pachetele pot fi selectate unul cate unul, sau pe categorii, iar urpmi va rezolva dependintele instantaneu si va face si propuneri.&lt;br /&gt;
* Instalarea incepe. Cei ce migreaza de pe Windows vor fi cu siguranta surprinsi de viteza de instalare a unei distributii binare!&lt;br /&gt;
* In mare instalarea e gata. Acum urmeaza setarea parolei de root si crearea utilizatorilor de rand. Apoi sunt facute ultimele retusuri (selectarea boot-loader-ului, configurarea interfetei grafice, conexiunea la net).&lt;br /&gt;
* La final installer-ul ofera alte cateva optiuni pe care in general le puteti ignora.&lt;br /&gt;
* Dupa reboot intra in scena DrakFirstTime. El se ocupa cu pre-configurarea desktop-ului si a update-urilor automate. Si cu asta, e cam gata!&lt;br /&gt;
&lt;br /&gt;
Pentru mai multe detalii, consultati documentatia de pe [http://www.mandrivalinux.ro/ site-ul comunitatii Mandriva in Romania].&lt;br /&gt;
&lt;br /&gt;
==== Suse ====&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt; este directorul magic in care se gasesc toate fisierele de configurare de sistem bine crescute.&lt;br /&gt;
&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
&lt;br /&gt;
Dupa incarcarea nucleului, verificarea device-urilor existente in sistem si incarcarea driverelor pentru acestea se trece la faza init, programul '''/sbin/init''' fiind lansat pentru a alege o actiune pentru pornire.&lt;br /&gt;
&lt;br /&gt;
Operatiile executate de programul '''init''' sunt controlate de fisierul '''/etc/inittab'''.&lt;br /&gt;
&lt;br /&gt;
Fisierul '''inittab''' contine intrari ce determina anumite actiuni pe care le poate face sistemul in momentul intrarii intr-un nivel de executie.&lt;br /&gt;
&lt;br /&gt;
Formatul fisierului este:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''id:runlevels:action:command'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex:	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1:2345:resppawn: /sbin/mingetty tty1&lt;br /&gt;
ca::ctrlaltdel: /sbin/shutdown -t3 -r now&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unde:	&lt;br /&gt;
&lt;br /&gt;
'''id''' este un identificator unic(caractere alfanumerice)&lt;br /&gt;
&lt;br /&gt;
'''runlevels''' reprezinta lista nivelurilor de rulare(0,1,2,3,4,5,6)&lt;br /&gt;
&lt;br /&gt;
'''0''' procesele sunt terminate si se opreste sistemul &lt;br /&gt;
&lt;br /&gt;
'''1''' se intra in nivelul mono-utilizator(in acest nivel reteaua, interfata grafica si anumite sisteme de fisiere nu fie active); este folosit mai ales pentru recuperarea sistemului in cazuri de urgenta&lt;br /&gt;
&lt;br /&gt;
'''2''' se intra in nivelul multi-utilizator(doar unele procese nu sunt active - NIS NFS AT X)&lt;br /&gt;
&lt;br /&gt;
'''3''' se intra in nivelul multi-utilizator cu acces la serviciile de retea&lt;br /&gt;
&lt;br /&gt;
'''4''' se intra in nivelul personalizat - se recomanda folosirea acestui runlevel pentru cazul in care doriti o versiune proprie (si nestandard) a serviciilor care sunt oprite/pornite&lt;br /&gt;
&lt;br /&gt;
'''5''' se intra in nivelul multi-utilizator cu acces la serviciile de retea si serverul grafic X; folosit mai ales in medii Linux Desktop&lt;br /&gt;
&lt;br /&gt;
'''6''' se opresc toate procesele si se reincarca sistemul de operare&lt;br /&gt;
&lt;br /&gt;
'''action''' actiunea pe care o realizeaza programul init&lt;br /&gt;
&lt;br /&gt;
'''wait''' asteapta incheierea executiei comenzii inainte sa treaca la la alta intrare din inittab&lt;br /&gt;
&lt;br /&gt;
'''respawn''' se lanseaza o noua instanta a unui proces, daca acesta isi incheie executia&lt;br /&gt;
&lt;br /&gt;
'''powerfail''' se executa daca se primeste semnalul SIGPWR de la UPS&lt;br /&gt;
&lt;br /&gt;
'''initdefault''' nivelul de rulare in care se intra dupa terminarea actiunii boot si init (intre 0 si 6 sau literele s sau S care sunt alias-uri pentru runlevel 1); atentie! daca acest runlevel este 0 sau 6 s-ar putea sa nu reusiti sa porniti masina cu Linux!&lt;br /&gt;
&lt;br /&gt;
'''ctrlaltdel''' procesul se executa cand init primeste semnalul SIGINT-cand de la consola se apasa Ctrl+Alt+Del&lt;br /&gt;
&lt;br /&gt;
'''command''' comanda/programul ce se va executa&lt;br /&gt;
&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
&lt;br /&gt;
Fisierul acesta contine informatii despre care partitii doriti sa fie montate la boot, unde sa fie montate, si cu ce opriuni. Mai multe detalii in articolul [[Partiţii]], sectiunea [[Parti%C5%A3ii#Montare | Montare]]&lt;br /&gt;
&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
&lt;br /&gt;
Acesta este fisierul in care puteti activa si dezactiva modulele incarcate de kernel la boot. De acest proces se ocupa un scipt de initializare care verifica existenta acestui fisier si incarca ce se gaseste in el.&lt;br /&gt;
&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
&lt;br /&gt;
Aici se gasesc toate scipturile de initializare/comanda corespunzatoare fiecarui runlevel. Ele veriaza in functie de stilul ales - System V sau BSD init style.&lt;br /&gt;
&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
&lt;br /&gt;
Acesta este sistemul de a imparti pe diverse runlevel-uri cel mai ultilizat la ora actuala in lumea Linux. Modelul a fost gandit pentru o abstractizare cat mai buna,  insa modificarea lui nu este intuitiva de la bun inceput. De obicei, avem un &amp;lt;tt&amp;gt;/etc/init.d&amp;lt;/tt&amp;gt; in care se gasesc toate scripturile, iar apoi in '''/etc/rc0.d''' pana la '''/etc/rc6.d''' se vor gasi symlink-uri catre scripturile din '''/etc/init.d'''. Ele vor avea un '''S''' sau un '''K''' in fata, urmate de un numar semnificand ordinea in care sunt rulate si numele serviciului. (Exemplu: '''S20inetd''' este un symlink in '''/etc/rc2.d''' catre '''/etc/init.d/inetd''')&lt;br /&gt;
&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
Cunoscut cu precadere datorita distributiei coordonate de Patrick Volkerding, Slackware. Astfel, vom avea in direct &amp;lt;tt&amp;gt;/etc/rc.d&amp;lt;/tt&amp;gt; toate scripturile necesare: '''rc.S''' care se ocupa cu toate functiile initializare ale sistemului, '''rc.K''' care se ocupa cu oprirea tuturor serviciilor pentru intrarea in runlevel-ul 1, '''rc.M''' care se ocupa cu initializarea tuturor functiilor corespunzatoare nivelelor multi-user, '''rc.4''' rulat pentru intrarea in runlevel-ul grafic (X), '''rc.6''' - script polimorf, are un symlink catre '''rc.0''', si se ocupa cu oprirea sau restartarea sistemului, depinzand cum a fost chemat. Apoi, mai sunt inca o suita de rc-uri (rc.httpd de exemplu) care se ocupa cu functiile diverselor servicii si evident sunt chemate de scripturile principale.&lt;br /&gt;
&lt;br /&gt;
===== Setarea conexiunii la internet =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza, vom da cateva indicatii referitoare la cum sa va activati/setati conexiunea la internet.&lt;br /&gt;
&lt;br /&gt;
====== Incarcarea modulului specific ======&lt;br /&gt;
&lt;br /&gt;
Dupa cum am spus si in alte sectiuni, corespondentele driverelor de pe Windows sunt modulele. Asadar, noi trebuie sa identificam ce placa de retea (sau alt dispozitiv specific) avem si sa incarcam modulul necesar pentru a face dispozitivul functional.&lt;br /&gt;
&lt;br /&gt;
Identificati in primul rand ce dispozitiv aveti si apoi cautati a vedeti ce modul se potriveste, urmand sa il incarcati cu comanda: &amp;lt;code&amp;gt;&lt;br /&gt;
modprobe [modul]&lt;br /&gt;
&amp;lt;/code&amp;gt; unde '''[modul]''' evident se va inlocui cu numele modulului specific.&lt;br /&gt;
&lt;br /&gt;
Alternativ, se poate utiliza si comanda '''insmod''' in loc de '''modprobe'''. Ca de obicei, dati '''man insmod''', respectiv '''man modprobe''', pentru detalii.&lt;br /&gt;
&lt;br /&gt;
De exemplu, eu am descoperit cu comanda '''lspci''' ca am o placa de retea cu chipset Realtek 8139, motiv pentru care am cautat pe [http://www.tldp.org/HOWTO/Ethernet-HOWTO.html Ethernet Howto] de la [http://tldp.org The Linux Documentation Project] si am descoperit ca ceea ce imi trebuia era modulul numit '''8139too'''. &lt;br /&gt;
&lt;br /&gt;
Evident, chipset-ul placii de retea in mod normal ar fi trebuit sa-l stiu de dinainte de la achizitie, pentru a fi sigur ca este suportat de sistemul meu de operare. Daca '''lspci''' nu va lamureste, atunci uitati-va pe documentul de la achizitie, cutia in care a venit placa respectiva, sau cel mai bine, direct pe placa.&lt;br /&gt;
&lt;br /&gt;
====== Setari: IP, netmask, broadcast, gateway, DNS ======&lt;br /&gt;
&lt;br /&gt;
Ca '''root''', dati comenzile:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ifconfig eth0 &amp;lt;IP&amp;gt; netmask &amp;lt;netmask&amp;gt; broadcast &amp;lt;broadcast&amp;gt; up&lt;br /&gt;
&lt;br /&gt;
route add default gateway &amp;lt;IP-ul gateway-ului/router-ului&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns1&amp;gt;&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo &amp;quot;nameserver &amp;lt;IP server dns2&amp;gt;&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Peste tot, perechea de semne &amp;quot;&amp;lt;&amp;quot; si &amp;quot;&amp;gt;&amp;quot; si tot ce scrie intre ele sa va inlocui cu datele necesare, adica adresa IP, netmask-ul, adresa broadcast (optionala deoarece va fi calculata automat de cele mai multe ori), adresa gateway-ului si bineinteles DNS-urile.&lt;br /&gt;
&lt;br /&gt;
Mai multe despre semnificatia acestor denumiri si multe alte detalii interesante gasiti [http://tldp.org/HOWTO/Networking-Overview-HOWTO.html aici].&lt;br /&gt;
&lt;br /&gt;
====== Un firewall micut care sa ne protejeze ======&lt;br /&gt;
&lt;br /&gt;
Iata un exemplu de firewall relativ intuitiv, cu cele mai de baza optiuni:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;start&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Begin firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter #Impotriva ip spoofing&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/tcp_syncookies  #Impotriva atacurilor DoS&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_all #Nu raspundem la ping&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/send_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_timestamps&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_sack&lt;br /&gt;
echo 0 &amp;gt; /proc/sys/net/ipv4/tcp_window_scaling&lt;br /&gt;
echo 60 &amp;gt; /proc/sys/net/ipv4/tcp_fin_timeout&lt;br /&gt;
echo 1800 &amp;gt; /proc/sys/net/ipv4/tcp_keepalive_time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# POLICY #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP  # Nu intra nimic &amp;quot;by default&amp;quot; &lt;br /&gt;
iptables -t filter -P OUTPUT ACCEPT&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
##########&lt;br /&gt;
# ACCEPT #&lt;br /&gt;
##########&lt;br /&gt;
&lt;br /&gt;
# Acceptam conexiunile initiate anterior de noi.&lt;br /&gt;
&lt;br /&gt;
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \&lt;br /&gt;
 -j ACCEPT&lt;br /&gt;
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#################################################################&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;End firewall script.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;stop&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Stopping firewall...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -P INPUT DROP&lt;br /&gt;
iptables -t filter -P OUTPUT DROP&lt;br /&gt;
iptables -t filter -P FORWARD DROP&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -F&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;restart&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    $0 stop&lt;br /&gt;
    sleep 2&lt;br /&gt;
    $0 start&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;show&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iptables -t filter -nvxL&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
    *)&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;Usage: firewall&lt;br /&gt;
         {start|stop|restart|show}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
Mai tineti minte discutia din sectiunea [[Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Module_.28echivalentul_driver-elor.29|Module]]? Pai acum este momentul sa punem in aplicare ce am discutat acolo, deoarece trebuie sa incarcam toate modulele necesare astfel incat dispozitivele din calculatorul nostru sa functioneze asa cum dorim. &lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
In cele ce urmeaza vom discuta despre placa grafica si modulele specifice care trebuie instalate astfel incat sa beneficiem de capacitatea ei la maxim.&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [[ATi video (2.6)]]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
Intrati pe pagina oficiala NVIDIA, sectiunea Drivers aflata la adresa http://www.nvidia.com/content/drivers/drivers.asp, sau, cel mai bine pentru scopul nostru la adresa http://www.nvidia.com/object/unix.html.&lt;br /&gt;
&lt;br /&gt;
De aici intrati pe pagina care se potriveste cel mai bine cu arhitectura voastra, in cazul meu, Graphics Drivers - Linux IA32 - latest version. La ora actuala cea mai noua versiune este [http://www.nvidia.com/object/linux_display_ia32_1.0-8756.html 1.0-8756]. &lt;br /&gt;
&lt;br /&gt;
Alegerea mea se explica deoarece am un procesor pe 32 de biti si placa grafica NVIDIA Geforce 2 MX400 cu 64MB. Adaptati pentru hardware-ul vostru!&lt;br /&gt;
&lt;br /&gt;
Pe pagina respectiva veti observa niste link-uri care sunt foarte utile, nu le evitati sub nici o forma. Dintre ele, va recomand cu precadere fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
Apoi, evident va luati de pe site ultima varianta a driver-ului, in cazul de fata,  [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/NVIDIA-Linux-x86-1.0-8756-pkg1.run NVIDIA-Linux-x86-1.0-8756-pkg1.run].&lt;br /&gt;
&lt;br /&gt;
Inainte de a continua, verificati daca aveti instalate sursele kernelului, si daca in '''/usr/src/linux/include/linux''' aveti fisierul '''version.h'''. In cazul in care nu il aveti inseamna ca trebuie sa il creati, recompiland kernelul. Daca nu aveti sursele kernelului, instalati-le.&lt;br /&gt;
&lt;br /&gt;
Pentru a crea fisierul version.h, in kernel-urile mai noi de 2.6 trebuie sa compilati macar o data sursele. Pentru a face acest lucru, consultati sectiunea din acest articol referitoare la [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#Recompilarea_kernelului recompilarea kernelului].&lt;br /&gt;
&lt;br /&gt;
De asemenea, asigurati-va ca nu aveti modulele referitoare la framebuffer-ul RIVA (rivafb) sau nvidia compilate deoarece vor intra in conflict cu driverul de la NVIDIA.&lt;br /&gt;
&lt;br /&gt;
Ca sa scapam mai repede de aceste doua mici probleme, exista metode... nu tocmai ortodoxe. Incepeti o compilare a kernelului si o opriti cu CTRL+C dupa ce vedeti ca a compilat version.h, il salvati in alta parte decat in '''/usr/src/linux/include/linux''', dati un make mrproper si apoi copiati la loc version.h de unde l-am luat.&lt;br /&gt;
&lt;br /&gt;
Iar pentru cele doua module care par sa intre in conflict, pur si simplu le mutati de acolo in alta parte, fara a mai necesita nici o recompilare. Din moment ce installer-ul de la NVIDIA nu le gaseste, nu va plange ca intra in conflict cu ele.&lt;br /&gt;
&lt;br /&gt;
Pasul urmator este sa opriti serverul grafic, '''X'''. Metoda fina ar fi sa incercati urmatoarele: '''Logoff''' din meniul de start sau '''xdm stop''', '''gdm stop''', respectiv '''kdm stop''' din consola. Daca nu va merg aceste solutii atunci va trebui sa il ucideti brutal. Dati '''ps uax''' sa-i aflati PID-ul, iar apoi, '''kill [PID]''', unde in loc de [PID], puneti numarul efectiv aflat cu ''ps''. Daca este si mai incapatanat, incercati cu '''kill -9 [PID]''', metoda cea mai agresiva de a-l opri de altfel.&lt;br /&gt;
&lt;br /&gt;
Daca ati oprit serverul grafic inseamna ca sunteti in fata unei console in acest moment. Mergeti in directorul in care ati salvat fisierul de la NVIDIA si dati comanda &amp;lt;code&amp;gt;sh NVIDIA-Linux-x86-1.0-8756-pkg1.run&amp;lt;/code&amp;gt; daca acesta este fisierul pe care l-ati luat. Daca ati luat alt fisier mai nou, evident, adaptati. Va vor mai fi puse cateva intrebari cu raspunsuri intuitive de catre installer. Daca raspundeti bine in curand el va va spune ca isi compileaza modulul.&lt;br /&gt;
&lt;br /&gt;
In final tot ce aveti de facut este sa modificati fisierul '''/etc/X11/xorg.conf''' corespunzator astfel incat sa foloseasca modulul nou compilat de la NVIDIA, in loc de cel standard. Inlocuiti linia &amp;lt;code&amp;gt;     Driver &amp;quot;nv&amp;quot;&lt;br /&gt;
(sau Driver &amp;quot;vesa&amp;quot;)&lt;br /&gt;
(sau Driver &amp;quot;fbdev&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt; Driver &amp;quot;nvidia&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De asemenea, stergeti urmatoarele linii:&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;dri&amp;quot;&lt;br /&gt;
Load &amp;quot;GLCore&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; si adaugati-o pe urmatoarea, in cazul in care nu exista deja:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Load &amp;quot;glx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acestea fiind zise, acum ar trebui doar sa reporniti serverul grafic '''X''' si va veti avea astfel parte de accelerare grafica maxima.&lt;br /&gt;
&lt;br /&gt;
Atentie, acesta este un ghid foarte intuitiv si cu toleranta destul de mica pentru alte probleme ce pot aparea. Daca aveti nedumeriri sau cautati optiuni, respectiv metode de a rezolva anumite probleme mai avansate, nu ezitati sa consultati fisierul [http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/index.html README].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Acesta este un o alta sectiune pe care o voi mai peria, completa si transforma in articol separat, urmand sa pun in locul ei aici un link catre noua locatie.&lt;br /&gt;
&lt;br /&gt;
====== VESA ======&lt;br /&gt;
&lt;br /&gt;
Daca nu aveti placi grafice de la ATI sau de la NVIDIA si nu ati gasit nici un driver de la producatorul original al chipsetului grafic, atunci nu disperati, mai exista sanse. VESA nu ofera capacitati de accelerare 3D si nici putere de procesare foarte mare, dar asigura o imagine de calitate prin functionalitatea ei de baza pentru aproape orice chipset grafic.&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat.&lt;br /&gt;
&lt;br /&gt;
===== Placa audio =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De vorbit despre ALSA si OSS&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat&lt;br /&gt;
&lt;br /&gt;
Editati fisierul '''/etc/X11/xorg.conf''' &lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De dezvoltat intregul capitol. Puteti da o mana de ajutor?&lt;br /&gt;
&lt;br /&gt;
====== KDE ======&lt;br /&gt;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
====== Altele ======&lt;br /&gt;
&lt;br /&gt;
====== Transparente si eye-candy ======&lt;br /&gt;
&lt;br /&gt;
=== Cuvant de incheiere ===&lt;br /&gt;
&lt;br /&gt;
Ei bine, in linii mari cam astea au fost intrebarile si raspunsurile care mi-au venit mie in minte. Sper ca am mai facut un pic de lumina in universul Linux pestru cei care abia acum s-au intalnit cu el sau pentru cei care sunt inca pe la inceputuri.&lt;br /&gt;
&lt;br /&gt;
Acesta nu este un ghid complet si nici nu incearca sa trateze foarte in detaliu subiectele in discutie, subiectele mai voluminoase meritand locul lor separat. Motiv pentru care astept sugestii si contributii astfel incat sa-l corectam si sa il imbogatim impreuna acolo unde am uitat ceva important, poate o alta intrebare, poate in alt raspuns, si impreuna sa-l ajutam sa evolueze.&lt;br /&gt;
&lt;br /&gt;
=== DISCLAIMER ===&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bibliografie ===&lt;br /&gt;
* Partea cu make si Makefile e extrasa din cursul de Sisteme de Operare al domnilor profesori Boian Florian si Bufnea Darius, Universitatea Babes-Bolyai Cluj-Napoca&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Documentul este inca in lucru.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Andrei Ristea</name></author>	</entry>

	</feed>