<?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=Syl</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=Syl"/>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php/Special:Contributions/Syl"/>
		<updated>2026-04-19T13:28:17Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Supraveghere_video_sub_Linux_folosind_ZoneMinder&amp;diff=3370</id>
		<title>Supraveghere video sub Linux folosind ZoneMinder</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Supraveghere_video_sub_Linux_folosind_ZoneMinder&amp;diff=3370"/>
				<updated>2007-02-02T13:00:42Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: Am adăugat link catre specificatiile tehnice ale camerei folosite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.zoneminder.com/ ZoneMinder] este cel mai profesional soft de monitorizare video disponibil pe Linux.&lt;br /&gt;
&lt;br /&gt;
Am avut ocazia să îl folosesc împreună cu o cameră [http://www.comrace.ro/Compo/3699/3699.htm SOHO CAS-230/E] conectată la server-ul cu ZoneMinder prin reţea.&lt;br /&gt;
&lt;br /&gt;
Configuraţia software folosită:&lt;br /&gt;
* ZoneMinder 1.21.0 (ruland pe ZoneMinder LiveCD)&lt;br /&gt;
* ZoneMinder 1.21.3 (ruland pe Mandrake 10.0)&lt;br /&gt;
&lt;br /&gt;
Din interfaţă web ZoneMinder aveţi atenţie la următoarele setări mai delicate:&lt;br /&gt;
* ''ZM_OPT_REMOTE_CAMERAS''  - trebuie bifat in cazul de fata&lt;br /&gt;
* ''ZM_OPT_USE_AUTH''        - nu ar trebui activat in mod normal	&lt;br /&gt;
* ''ZM_PATH_LOGS''           - /var/log/zm ar trebui sa fie trecut aici&lt;br /&gt;
* ''ZM_COLOUR_JPEG_FILES''   - nu e nevoie in cazul de fata&lt;br /&gt;
* ''ZM_NETCAM_REGEXPS''      - (nu exista in 1.21.0) debifat&lt;br /&gt;
* ''ZM_HTTP_VERSION''        - in cazul de fata e 1.1 la 1.21.0 si 1.0 la 1.21.3&lt;br /&gt;
* ''ZM_HTTP_TIMEOUT''        - minim 2500&lt;br /&gt;
* ''ZM_WEB_REFRESH_METHOD''  - http&lt;br /&gt;
* ''ZM_VIDEO_STREAM_METHOD'' - jpeg&lt;br /&gt;
&lt;br /&gt;
După setarea parametrilor de mai sus şi conectarea camerei la server verificaţi următoarele:&lt;br /&gt;
* Comanda&amp;lt;code bash&amp;gt;zmc -m &amp;lt;monitor_ID&amp;gt;&amp;lt;/code&amp;gt;nu trebuie să returneze imediat. Daca returneaza imediat (cu, sau fara eroare), ceva nu e bine; verificati log-urile.&lt;br /&gt;
* Memoria partajată (shared memory) (a se vedea [[Supraveghere_video_sub_Linux_folosind_ZoneMinder#Prima_problema:_memoria_partajat.C4.83_.28shared_memory.29|Prima problema]]) se calculeaza astfel: buffer (tabul ''Buffers'' de la monitor) x latimea imaginii x inaltimea imaginii x 3 (pentru o imagine de 24 biti). Pentru o imagine 640x480 pe 24 biti ar necesita aproximativ 92Mb memorie shared, cu buffer-ele setate standard.&lt;br /&gt;
&lt;br /&gt;
== Prima problema: memoria partajată (shared memory) ==&lt;br /&gt;
&lt;br /&gt;
Simptoma: în loguri apar mesaje referitoare la shared memory.&lt;br /&gt;
&lt;br /&gt;
Se rezolva prin marirea memoriei partajate.&lt;br /&gt;
&lt;br /&gt;
Memoria partajata alocata curent poate fi afisata cu comenzile:&lt;br /&gt;
&amp;lt;code bash&amp;gt;cat /proc/sys/kernel/shmall&lt;br /&gt;
cat /proc/sys/kernel/shmmax&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valorile returnate sunt in octeti (bytes) si ar trebui sa fie minim 134217728 (128 Mb). &lt;br /&gt;
Daca valorile returnate sunt mai mici decat minimul precizat, ar trebui marite. Pentru a le mari definitiv se editeaza valorile ''kernel.shmall'' si ''kernel.shmmax'' din ''/etc/sysctl.conf''. Daca aceste variabile nu exista in ''sysctl.conf'', ele vor fi create.&lt;br /&gt;
Atentie: valorile setate in ''sysctl.conf'' nu vor fi incarcate decat abia la bootare. Pentru aplicarea lor imediata, folosiţi comanda:&lt;br /&gt;
&amp;lt;code bash&amp;gt;/sbin/sysctl -p&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A doua problema: erori legate de formatul JPEG ==&lt;br /&gt;
&lt;br /&gt;
Simptoma:&lt;br /&gt;
&amp;lt;code bash&amp;gt;# zmc -m 1&lt;br /&gt;
Not a JPEG file: starts with 0x48 0x54&amp;lt;/code&amp;gt;&lt;br /&gt;
Camera reda imagini de dimensiunea 640x480, pe 24 biti culoare, deci acestea trebuie sa fie si setarile monitorului ZM.&lt;br /&gt;
Atentie: cu cat imaginea are dimensiuni mai mari si culoare mai adanca, cu atat va creste si valoarea shared memory pe care ZM o cere (a se vedea mai sus).&lt;br /&gt;
&lt;br /&gt;
== A treia problema: Nu apare imagine ==&lt;br /&gt;
&lt;br /&gt;
Simptoma: Nu apare nici o imagine cand se deschide un monitor, in logurile ZM (de obicei aflate in ''/var/log/zm'') totul pare OK, dar in ''/var/log/messages'' apar mesaje de eroare de genul:&lt;br /&gt;
&amp;lt;pre&amp;gt;Got TERM signal, exiting&lt;br /&gt;
Select error: Interrupted system call&lt;br /&gt;
Shared memory not initialised by capture daemon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trebuie verificat ca ''ZM_PATH_ZMS'' sa fie setat corect. In mod normal, in ''/var/www'' trebuie sa existe un director ''cgi-bin'' ce contine doua fisiere, cel putin:&lt;br /&gt;
&amp;lt;code bash&amp;gt;# pwd&lt;br /&gt;
/var/www/cgi-bin&lt;br /&gt;
# ls&lt;br /&gt;
nph-zms zms&amp;lt;/code&amp;gt;&lt;br /&gt;
Deci, in ''ZM_PATH_ZMS'' se pot pune doua valori: ''/cgi-bin/zms'' sau ''/cgi-bin/nph-zms''. Incercati cu ambele, pana cand functioneaza.&lt;br /&gt;
&lt;br /&gt;
== A patra problemă: Camera are uneori probleme şi trebuie resetată. ==&lt;br /&gt;
&lt;br /&gt;
Dacă ZoneMinder nu mai receptează imagini, ping-ul la IP-ul camerei nu mai merge sau are pierderi, trebuie scoasă alimentarea camerei pentru câteva secunde...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Atenţie: server-ul de captura va avea nevoie de un hard disk mare pentru a putea face faţă cantităţii de date trimisă de cameră.&lt;br /&gt;
Puteţi folosi mecanismul standard al distribuţiei (e.g. ''tmpwatch'') sau, în lipsa acestuia, o soluţie ad-hoc de forma [[Scripturi_BASH#Stergere_directoare_vechi_de_pe_o_parti.C5.A3ie_pentru_salvarea_spa.C5.A3iului|următoare]] pentru a rezolva problema.&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=3361</id>
		<title>Scripturi BASH</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=3361"/>
				<updated>2007-01-30T22:17:46Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: Ca sa arate mai colorat...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Exemple scripturi BASH ==&lt;br /&gt;
&lt;br /&gt;
=== Scripturi care permit schimbarea rapida a MAC+IP ===&lt;br /&gt;
&lt;br /&gt;
[[User:Raptor360|Raptor360]] 12:33, 8 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
====getmac====&lt;br /&gt;
&lt;br /&gt;
Primeste ca parametru un IP si returneaza MAC-ul acestuia sau &amp;quot;&amp;quot; daca nu exista in retea nodul cu pricina.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/getmac''&amp;lt;code bash&amp;gt;#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
mac=`arping -I $IFDEVICE $1 -c 3 | grep reply | cut -f2 -d\[ | cut -f1 -d\] | uniq`&lt;br /&gt;
echo $mac&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====be====&lt;br /&gt;
Primeste ca parametru un IP si schimba MAC-ul si IP-ul pentru un device.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/be''&amp;lt;code bash&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
gip=`echo -e &amp;quot;$1\t&amp;quot;`&lt;br /&gt;
echo -e &amp;quot; IP is $1.&amp;quot;&lt;br /&gt;
mac=`cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2`&lt;br /&gt;
echo -e &amp;quot;MAC is $mac.&amp;quot;&lt;br /&gt;
if [[ $mac != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
        ifconfig $IFDEVICE down&lt;br /&gt;
        ifconfig $IFDEVICE hw ether $mac&lt;br /&gt;
        ifconfig $IFDEVICE $1 netmask 255.255.248.0 broadcast 10.10.17.255&lt;br /&gt;
        route add default gw 10.10.17.1&lt;br /&gt;
        # echo &amp;quot;nameserver 10.10.17.1&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;$1 has not an associated MAC.&amp;quot;&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====switchuser==== &lt;br /&gt;
&lt;br /&gt;
Schimba MAC-ul si IP-ul aleator conform unuia stocat in /etc/stored folosind scripturile anterioare.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/switchuser''&amp;lt;code bash&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
notfound=1&lt;br /&gt;
while [[ $notfound -eq 1 ]]; do&lt;br /&gt;
        rip=`echo &amp;quot;$RANDOM % 252 + 3&amp;quot; | bc`&lt;br /&gt;
        for i in `seq $rip 254`; do&lt;br /&gt;
                randip=&amp;quot;10.10.17.$i&amp;quot;&lt;br /&gt;
                gip=`echo -e &amp;quot;$randip\t&amp;quot;`&lt;br /&gt;
                if [[ `cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2` != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                        if [[ `getmac $randip` == &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                                be $randip&lt;br /&gt;
                                exit 0&lt;br /&gt;
                                notfound=1&lt;br /&gt;
                        else&lt;br /&gt;
                                echo &amp;quot;IP $randip is already active.&amp;quot;&lt;br /&gt;
                        fi&lt;br /&gt;
                else&lt;br /&gt;
                        echo &amp;quot;$randip has no MAC associated.&amp;quot;&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
done&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scripturile folosesc fisierul de configurare ''/etc/stored'' in care se adauga perechi de forma: IP\tMAC, e.g. &amp;lt;code&amp;gt;10.10.17.241    00:20:ED:95:2A:A1&lt;br /&gt;
10.10.17.242    4C:00:10:53:BF:A5&amp;lt;/code&amp;gt; precum si variabila din enviroment IFDEVICE daca este definita. e.g. daca vrem sa schimbam ip-ul doar pentru device-ul eth1 atunci apelam la:&lt;br /&gt;
&amp;lt;code&amp;gt;# IFDEVICE=eth1 switchuser &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script care lanseaza in fundal o anumita comanda data ca parametru de intrare ===&lt;br /&gt;
Puteti lasa o comanda sa se execute in fundal fara ca ea sa fie intrerupta la&lt;br /&gt;
iesirea dumneavoastra din sistem folosind urmatorul script pe care l-am numit&lt;br /&gt;
silent. (output-ul nu este salvat, pentru aceasta puteti folosi nohup)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Executing \&amp;quot;$*\&amp;quot;&amp;quot;&lt;br /&gt;
setsid bash -c $* 2&amp;gt;&amp;gt;/dev/null 1&amp;gt;&amp;gt;/dev/null &amp;lt; /dev/null &amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scriptul il puteti folosi de exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ silent wget -c -t 0 www.bigfiles.com/ubuntu.iso&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script ce elimina zona asociata unui domeniu dat ca parametru de intrare ===&lt;br /&gt;
&lt;br /&gt;
Puteţi elimina porţiunea din named.conf de la&lt;br /&gt;
&amp;lt;tt&amp;gt;zone &amp;quot;nume.domeniu.dat.ca.parametru.de.intrare&amp;quot; {&amp;lt;/tt&amp;gt;&lt;br /&gt;
până la acolada închisă asociată acoladei deschise de mai sus.&lt;br /&gt;
&lt;br /&gt;
Scriptul este:&amp;lt;code bash&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Bind zone remove script&lt;br /&gt;
#&lt;br /&gt;
# Copyright (C) 2005 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
if [ ! $# = 1 ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 domain&amp;quot;;&lt;br /&gt;
    echo &amp;quot;The path to named.conf is defined inside the script&amp;quot;;&lt;br /&gt;
    		 else&lt;br /&gt;
	pathToNamedDotConf=/etc/named.conf&lt;br /&gt;
	&lt;br /&gt;
	x=$(grep -n &amp;quot;zone \&amp;quot;$1\&amp;quot; {&amp;quot; $pathToNamedDotConf | cut -f1 -d:)&lt;br /&gt;
	sed $x,/\}\;/d $pathToNamedDotConf &amp;gt; temp&lt;br /&gt;
	c=$(sed -n $x'p' &amp;lt; temp)&lt;br /&gt;
	if [ &amp;quot;x`echo $c | grep &amp;quot;zone&amp;quot;`&amp;quot; = &amp;quot;x&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		sed $x' d' temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	else&lt;br /&gt;
		cat temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f temp&lt;br /&gt;
	exit&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cautarea unui fisier ce contine un anumit string ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;find /path -name &amp;quot;*&amp;quot; -exec grep -H &amp;quot;&amp;lt;string&amp;gt;&amp;quot;  '{}' \;&amp;lt;/code&amp;gt;&lt;br /&gt;
sau&lt;br /&gt;
&amp;lt;code bash&amp;gt;grep -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fireste, &amp;lt;tt&amp;gt;&amp;amp;lt;string&amp;amp;gt;&amp;lt;/tt&amp;gt; poate fi atat un sir de caractere cat si orice fel de expresie regulata suportata de versiunea particulara de &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; disponibila pe masina in cauza.&amp;lt;br /&amp;gt;&lt;br /&gt;
Deasemenea, pentru a cauta fara a face diferenta intre majuscule si minuscule, adaugati parametrul &amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt; la &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Daca doriti ca in output-ul comenzii &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; expresia cautata sa fie cautata sa fie evidentiata puteti folosi parametrul &amp;lt;tt&amp;gt;--color&amp;lt;/tt&amp;gt; astfel:&lt;br /&gt;
&amp;lt;code bash&amp;gt;grep --color -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stergerea fisierelor backup ===&lt;br /&gt;
&lt;br /&gt;
Asa cum stiti, prin traditie in *NIX, editoarele text fac o copie de siguranta fisierelor editate, copie de siguranta ce este denumita identic cu fisierul initial plus caracterul tilda ('''~'''). Ei bine... in cazul aplicatiilor web, acest backup mai mult dauneaza decat sa ajute.&lt;br /&gt;
Nu ar fi prea placut sa aveti un &amp;lt;tt&amp;gt;index.php~&amp;lt;/tt&amp;gt;  in &amp;lt;tt&amp;gt;DocumentRoot&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;find /path -name &amp;quot;*~&amp;quot; | xargs -n 20 rm -f&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme cu spatiul pe disc? ===&lt;br /&gt;
&lt;br /&gt;
Nu stiti unde &amp;quot;vi s-a dus&amp;quot; spatiul de pe disc si e cam greu sa verificati fiecare director in parte?&amp;lt;br /&amp;gt;&lt;br /&gt;
Linia urmatoare va ajuta, facand totodata si o sortare.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;du --max-depth=1 /path | sort -rn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gasirea fisierelor duplicate intr-un director ===&lt;br /&gt;
Aveti prea multe mp3-uri si majoritatea sunt duplicate dar cu alt nume sau orice de genul folositi scriptul de mai jos:D Eventual adaugati si un -maxdepth 1 sa nu fie recursiv.&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if [ ! -d &amp;quot;$1&amp;quot; ]; then &lt;br /&gt;
  echo &amp;quot;Usage $0 &amp;lt;dir&amp;gt;&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
find &amp;quot;$1&amp;quot; -type f -print0 |   xargs -0 -n1 md5sum |     sort --key=1,32 | uniq -w 32 -d --all-repeated=prepend \&lt;br /&gt;
                                     |cut -f3- -d' '|sed 's/^$/Fisiere identice:/'&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calcularea recordului de uptime ===&lt;br /&gt;
&lt;br /&gt;
Scriptul urmator va trebui plasat in crontab astfel incat sa ruleze periodic, de exemplu, din ora in ora. El va afisa in fisierul ''$output'' (initial ''/var/log/uptimeRecord.log'') output-ul comenzilor ''uptime'' si ''date'' (adica uptime-ul record si data la care a fost inregistrat).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Copyright (C) 2006 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
output='/var/log/uptimeRecord.log'&lt;br /&gt;
&lt;br /&gt;
function compareHrs&lt;br /&gt;
{&lt;br /&gt;
        uptimeCurent=`uptime`&lt;br /&gt;
        if [ `echo $uptimeCurent | grep -c day` == '0' ]; then&lt;br /&gt;
#               echo Uptime mai mic de o zi&lt;br /&gt;
                uptimeCurentOre=`uptime | awk '{print $3}'`&lt;br /&gt;
                uptimeRecordOre=`cat $output | head -1 | awk '{print $3}'`&lt;br /&gt;
        else&lt;br /&gt;
                uptimeCurentOre=`uptime | awk '{print $5}'`&lt;br /&gt;
                uptimeRecordOre=`cat $output | head -1 | awk '{print $5}'`&lt;br /&gt;
        fi&lt;br /&gt;
        if [ `expr length $uptimeCurentOre` \&amp;gt; `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
#               echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 1&lt;br /&gt;
                uptime &amp;gt; $output&lt;br /&gt;
                date &amp;gt;&amp;gt; $output&lt;br /&gt;
        else&lt;br /&gt;
                if [ `expr length $uptimeCurentOre` == `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
                        uptimeCurentOra=`echo $uptimeCurentOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        uptimeRecordOra=`echo $uptimeRecordOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        if [ $uptimeCurentOra -gt $uptimeRecordOra ]; then&lt;br /&gt;
#                               echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 2&lt;br /&gt;
                                uptime &amp;gt; $output&lt;br /&gt;
                                date &amp;gt;&amp;gt; $output&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -a $output ]; then&lt;br /&gt;
        uptimeCurent=`uptime`&lt;br /&gt;
        uptimeRecord=`cat $output | head -1`&lt;br /&gt;
        if [ `echo $uptimeCurent | grep -c day` == '0' ]; then&lt;br /&gt;
#               echo Uptime mai mic de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi, comparam orele&lt;br /&gt;
                        compareHrs&lt;br /&gt;
#               else&lt;br /&gt;
#                       echo Uptime record mai mare ca uptime curent&lt;br /&gt;
                fi&lt;br /&gt;
        else&lt;br /&gt;
#               echo Uptime mai mare de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi&lt;br /&gt;
                        uptime &amp;gt; $output&lt;br /&gt;
                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                else&lt;br /&gt;
                        uptimeCurentZile=`uptime | awk '{print $3}'`&lt;br /&gt;
                        uptimeRecordZile=`cat $output | head -1 | awk '{print $3}'`&lt;br /&gt;
                        if [ $uptimeCurentZile -eq $uptimeRecordZile ]; then&lt;br /&gt;
#                               echo Uptime in zile egal&lt;br /&gt;
                                compareHrs&lt;br /&gt;
                        else&lt;br /&gt;
                                if [ $uptimeCurentZile -gt $uptimeRecordZile ]; then&lt;br /&gt;
#                                       echo Record nou&lt;br /&gt;
                                        uptime &amp;gt; $output&lt;br /&gt;
                                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                                fi&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
else&lt;br /&gt;
#       echo Fisierul nu exista, deci trebuie creat. Recordul e uptime-ul curent&lt;br /&gt;
        uptime &amp;gt; $output&lt;br /&gt;
        date &amp;gt;&amp;gt; $output&lt;br /&gt;
fi&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;
=== Stergere directoare vechi de pe o partiţie pentru salvarea spaţiului ===&lt;br /&gt;
&lt;br /&gt;
Scriptul următor poate fi plasat în cron şi rulat cam din oră în oră pentru a şterge directoare vechi. Un exemplu clasic este ştergerea jpeg-urilor generate de cameră de supraveghere conectată la un server Linux:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Copyright (C) 2005-2007 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
# Constante:&lt;br /&gt;
partitie=/var/www # partitia monitorizata&lt;br /&gt;
procentMaxim=&amp;quot;97%&amp;quot; # procentul maxim de ocupare acceptat pt partitia monitorizata&lt;br /&gt;
X=1 # se vor sterge directoarele mai vechi de X zile&lt;br /&gt;
director=/var/www/html/camera/events/2 # directorul din care se vor sterge subdirectoarele&lt;br /&gt;
&lt;br /&gt;
# Cat de ocupata este partitia monitorizata (in procente):&lt;br /&gt;
procentOcupare=$(df -h | grep $partitie | awk '{print $5}')&lt;br /&gt;
&lt;br /&gt;
if [[ &amp;quot;$procentMaxim&amp;quot; &amp;lt; &amp;quot;$procentOcupare&amp;quot; ]] || [ &amp;quot;$procentOcupare&amp;quot; == &amp;quot;100%&amp;quot; ];&lt;br /&gt;
	then # trebuie sterse directoarele mai vechi de X zile&lt;br /&gt;
		find $director -type d -mtime +$X -exec rm -rf {} \;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Category:Collection]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=3356</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=3356"/>
				<updated>2007-01-30T00:07:19Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &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;
** [[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;
** [[Debricking Linksys WRT54GL cu OpenWrt]] ([[:Category:Troubleshooting|remedieri]])&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|Cum să scăpăm de abţibildul de la Microsoft?]] ([[:Category:FAQ|Întrebări puse frecvent]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Ce este GNU/Linux? / Cum invat Linux?]] ([[:Category:FAQ|Întrebări puse frecvent]])&lt;br /&gt;
** [[Comunica prin lpt|Controlul motoarelor pas cu pas prin portul paralel]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Cum dau net mai departe|Redistribuirea/Partajarea conexiunii la Internet]]  ([[:Category:Networking|retea]]/[[:Category:Routing|rutare]])&lt;br /&gt;
** [[Yum în România|&amp;lt;tt&amp;gt;yum&amp;lt;/tt&amp;gt; în România]] ([[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:Tutorial|tutoriale]] actualizate''':&lt;br /&gt;
** [[Setari vim existentiale]] ([[:Category:Tips'n'Tricks|ponturi]])&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;
** [[Schimbarea setarilor GTK 2|Schimbarea setărilor Gtk+ 2]] ([[:Category:GEs|medii grafice]]/[[:Category:Tips'n'Tricks|ponturi]])&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;
** [[Supra%C3%AEnc%C4%83rcarea operatorilor %C3%AEn limbajul C-plus-plus|Supraîncărcarea operatorilor în ANSI C++]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Securitatea sistemului de operare (Slackware)]] ([[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:Collection|colecţii]] actualizate''':&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;
* '''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;
** [[Instalarea distribuţiei Slackware Linux]] ([[User:Gabel|gabel]])&lt;br /&gt;
** [[Configurarea X în Slackware]] ([[User:Gabel|gabel]])&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Supraveghere_video_sub_Linux_folosind_ZoneMinder&amp;diff=3355</id>
		<title>Supraveghere video sub Linux folosind ZoneMinder</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Supraveghere_video_sub_Linux_folosind_ZoneMinder&amp;diff=3355"/>
				<updated>2007-01-30T00:06:23Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.zoneminder.com/ ZoneMinder] este cel mai profesional soft de monitorizare video disponibil pe Linux.&lt;br /&gt;
&lt;br /&gt;
Am avut ocazia să îl folosesc împreună cu o cameră SOHO CAS-230/E conectată la server-ul cu ZoneMinder prin reţea.&lt;br /&gt;
&lt;br /&gt;
Configuraţia software folosită:&lt;br /&gt;
* ZoneMinder 1.21.0 (ruland pe ZoneMinder LiveCD)&lt;br /&gt;
* ZoneMinder 1.21.3 (ruland pe Mandrake 10.0)&lt;br /&gt;
&lt;br /&gt;
Din interfaţă web ZoneMinder aveţi atenţie la următoarele setări mai delicate:&lt;br /&gt;
* ''ZM_OPT_REMOTE_CAMERAS''  - trebuie bifat in cazul de fata&lt;br /&gt;
* ''ZM_OPT_USE_AUTH''        - nu ar trebui activat in mod normal	&lt;br /&gt;
* ''ZM_PATH_LOGS''           - /var/log/zm ar trebui sa fie trecut aici&lt;br /&gt;
* ''ZM_COLOUR_JPEG_FILES''   - nu e nevoie in cazul de fata&lt;br /&gt;
* ''ZM_NETCAM_REGEXPS''      - (nu exista in 1.21.0) debifat&lt;br /&gt;
* ''ZM_HTTP_VERSION''        - in cazul de fata e 1.1 la 1.21.0 si 1.0 la 1.21.3&lt;br /&gt;
* ''ZM_HTTP_TIMEOUT''        - minim 2500&lt;br /&gt;
* ''ZM_WEB_REFRESH_METHOD''  - http&lt;br /&gt;
* ''ZM_VIDEO_STREAM_METHOD'' - jpeg&lt;br /&gt;
&lt;br /&gt;
După setarea parametrilor de mai sus şi conectarea camerei la server verificaţi următoarele:&lt;br /&gt;
* Comanda&amp;lt;code bash&amp;gt;zmc -m &amp;lt;monitor_ID&amp;gt;&amp;lt;/code&amp;gt;nu trebuie să returneze imediat. Daca returneaza imediat (cu, sau fara eroare), ceva nu e bine; verificati log-urile.&lt;br /&gt;
* Memoria partajată (shared memory) (a se vedea [http://wiki.linux360.ro/wiki/Supraveghere_video_sub_Linux_folosind_ZoneMinder#Prima_problema:_memoria_partajat.C4.83_.28shared_memory.29 Prima problema]) se calculeaza astfel: buffer (tabul ''Buffers'' de la monitor) x latimea imaginii x inaltimea imaginii x 3 (pentru o imagine de 24 biti). Pentru o imagine 640x480 pe 24 biti ar necesita aproximativ 92Mb memorie shared, cu buffer-ele setate standard.&lt;br /&gt;
&lt;br /&gt;
== Prima problema: memoria partajată (shared memory) ==&lt;br /&gt;
&lt;br /&gt;
Simptoma: în loguri apar mesaje referitoare la shared memory.&lt;br /&gt;
&lt;br /&gt;
Se rezolva prin marirea memoriei partajate.&lt;br /&gt;
&lt;br /&gt;
Memoria partajata alocata curent poate fi afisata cu comenzile:&lt;br /&gt;
&amp;lt;code bash&amp;gt;cat /proc/sys/kernel/shmall&lt;br /&gt;
cat /proc/sys/kernel/shmmax&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valorile returnate sunt in biti si ar trebui sa fie minim 134217728 (128 Mb). &lt;br /&gt;
Daca valorile returnate sunt mai mici decat minimul precizat, ar trebui marite. Pentru a le mari definitiv se editeaza valorile ''kernel.shmall'' si ''kernel.shmmax'' din ''/etc/sysctl.conf''. Daca aceste variabile nu exista in ''sysctl.conf'', ele vor fi create.&lt;br /&gt;
Atentie: valorile setate in ''sysctl.conf'' nu vor fi incarcate decat abia la bootare si daca nu puteti reboot-a sistemul chiar acum, puteti modifica valorile si din mers cu comenzile:&lt;br /&gt;
&amp;lt;code bash&amp;gt;echo VALOARE_NOUA &amp;gt;/proc/sys/kernel/shmall&lt;br /&gt;
echo VALOARE_NOUA &amp;gt;/proc/sys/kernel/shmmax&amp;lt;/code&amp;gt;&lt;br /&gt;
De exemplu:&amp;lt;code bash&amp;gt;echo 134217728 &amp;gt;/proc/sys/kernel/shmall&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A doua problema: erori legate de formatul JPEG ==&lt;br /&gt;
&lt;br /&gt;
Simptoma:&lt;br /&gt;
&amp;lt;code bash&amp;gt;# zmc -m 1&lt;br /&gt;
Not a JPEG file: starts with 0x48 0x54&amp;lt;/code&amp;gt;&lt;br /&gt;
Camera reda imagini de dimensiunea 640x480, pe 24 biti culoare, deci acestea trebuie sa fie si setarile monitorului ZM.&lt;br /&gt;
Atentie: cu cat imaginea are dimensiuni mai mari si culoare mai adanca, cu atat va creste si valoarea shared memory pe care ZM o cere (a se vedea mai sus).&lt;br /&gt;
&lt;br /&gt;
== A treia problema: Nu apare imagine ==&lt;br /&gt;
&lt;br /&gt;
Simptoma: Nu apare nici o imagine cand se deschide un monitor, in logurile ZM (de obicei aflate in ''/var/log/zm'') totul pare OK, dar in ''/var/log/messages'' apar mesaje de eroare de genul:&lt;br /&gt;
&amp;lt;pre&amp;gt;Got TERM signal, exiting&lt;br /&gt;
Select error: Interrupted system call&lt;br /&gt;
Shared memory not initialised by capture daemon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trebuie verificat ca ''ZM_PATH_ZMS'' sa fie setat corect. In mod normal, in ''/var/www'' trebuie sa existe un director ''cgi-bin'' ce contine doua fisiere, cel putin:&lt;br /&gt;
&amp;lt;code bash&amp;gt;# pwd&lt;br /&gt;
/var/www/cgi-bin&lt;br /&gt;
# ls&lt;br /&gt;
nph-zms zms&amp;lt;/code&amp;gt;&lt;br /&gt;
Deci, in ''ZM_PATH_ZMS'' se pot pune doua valori: ''/cgi-bin/zms'' sau ''/cgi-bin/nph-zms''. Incercati cu ambele, pana cand functioneaza.&lt;br /&gt;
&lt;br /&gt;
== A patra problemă: Camera are uneori probleme şi trebuie resetată. ==&lt;br /&gt;
&lt;br /&gt;
Dacă ZoneMinder nu mai receptează imagini, ping-ul la IP-ul camerei nu mai merge sau are pierderi, trebuie scoasă alimentarea camerei pentru câteva secunde...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Atenţie: server-ul de captura va avea nevoie de un hard disk mare pentru a putea face faţă cantităţii de date trimisă de cameră.&lt;br /&gt;
Puteţi folosi [http://wiki.linux360.ro/wiki/Scripturi_BASH#Stergere_directoare_vechi_de_pe_o_parti.C5.A3ie_pentru_salvarea_spa.C5.A3iului acest script] pentru a rezolva problema.&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Supraveghere_video_sub_Linux_folosind_ZoneMinder&amp;diff=3354</id>
		<title>Supraveghere video sub Linux folosind ZoneMinder</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Supraveghere_video_sub_Linux_folosind_ZoneMinder&amp;diff=3354"/>
				<updated>2007-01-30T00:01:00Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.zoneminder.com/ ZoneMinder] este cel mai profesional soft de monitorizare video disponibil pe Linux.&lt;br /&gt;
&lt;br /&gt;
Am avut ocazia să îl folosesc împreună cu o cameră SOHO CAS-230/E conectată la server-ul cu ZoneMinder prin reţea.&lt;br /&gt;
&lt;br /&gt;
Configuraţia software folosită:&lt;br /&gt;
* ZoneMinder 1.21.0 (ruland pe ZoneMinder LiveCD)&lt;br /&gt;
* ZoneMinder 1.21.3 (ruland pe Mandrake 10.0)&lt;br /&gt;
&lt;br /&gt;
Din interfaţă web ZoneMinder aveţi atenţie la următoarele setări mai delicate:&lt;br /&gt;
* ''ZM_OPT_REMOTE_CAMERAS''  - trebuie bifat in cazul de fata&lt;br /&gt;
* ''ZM_OPT_USE_AUTH''        - nu ar trebui activat in mod normal	&lt;br /&gt;
* ''ZM_PATH_LOGS''           - /var/log/zm ar trebui sa fie trecut aici&lt;br /&gt;
* ''ZM_COLOUR_JPEG_FILES''   - nu e nevoie in cazul de fata&lt;br /&gt;
* ''ZM_NETCAM_REGEXPS''      - (nu exista in 1.21.0) debifat&lt;br /&gt;
* ''ZM_HTTP_VERSION''        - in cazul de fata e 1.1 la 1.21.0 si 1.0 la 1.21.3&lt;br /&gt;
* ''ZM_HTTP_TIMEOUT''        - minim 2500&lt;br /&gt;
* ''ZM_WEB_REFRESH_METHOD''  - http&lt;br /&gt;
* ''ZM_VIDEO_STREAM_METHOD'' - jpeg&lt;br /&gt;
&lt;br /&gt;
După setarea parametrilor de mai sus şi conectarea camerei la server verificaţi următoarele:&lt;br /&gt;
* Comanda&amp;lt;code bash&amp;gt;zmc -m &amp;lt;monitor_ID&amp;gt;&amp;lt;/code&amp;gt;nu trebuie să returneze imediat. Daca returneaza imediat (cu, sau fara eroare), ceva nu e bine; verificati log-urile.&lt;br /&gt;
* Memoria partajată (shared memory) (a se vedea [http://wiki.linux360.ro/wiki/Supraveghere_video_sub_Linux_folosind_ZoneMinder#Prima_problema:_memoria_partajat.C4.83_.28shared_memory.29 Prima problema]) se calculeaza astfel: buffer (tabul ''Buffers'' de la monitor) x latimea imaginii x inaltimea imaginii x 3 (pentru o imagine de 24 biti). Pentru o imagine 640x480 pe 24 biti ar necesita aproximativ 92Mb memorie shared, cu buffer-ele setate standard.&lt;br /&gt;
&lt;br /&gt;
== Prima problema: memoria partajată (shared memory) ==&lt;br /&gt;
&lt;br /&gt;
Simptoma: în loguri apar mesaje referitoare la shared memory.&lt;br /&gt;
&lt;br /&gt;
Se rezolva prin marirea memoriei partajate.&lt;br /&gt;
&lt;br /&gt;
Memoria partajata alocata curent poate fi afisata cu comenzile:&lt;br /&gt;
&amp;lt;code bash&amp;gt;cat /proc/sys/kernel/shmall&lt;br /&gt;
cat /proc/sys/kernel/shmmax&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valorile returnate sunt in biti si ar trebui sa fie minim 134217728 (128 Mb). &lt;br /&gt;
Daca valorile returnate sunt mai mici decat minimul precizat, ar trebui marite. Pentru a le mari definitiv se editeaza valorile ''kernel.shmall'' si ''kernel.shmmax'' din ''/etc/sysctl.conf''. Daca aceste variabile nu exista in ''sysctl.conf'', ele vor fi create.&lt;br /&gt;
Atentie: valorile setate in ''sysctl.conf'' nu vor fi incarcate decat abia la bootare si daca nu puteti reboot-a sistemul chiar acum, puteti modifica valorile si din mers cu comenzile:&lt;br /&gt;
&amp;lt;code bash&amp;gt;echo VALOARE_NOUA &amp;gt;/proc/sys/kernel/shmall&lt;br /&gt;
echo VALOARE_NOUA &amp;gt;/proc/sys/kernel/shmmax&amp;lt;/code&amp;gt;&lt;br /&gt;
De exemplu:&amp;lt;code bash&amp;gt;echo 134217728 &amp;gt;/proc/sys/kernel/shmall&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A doua problema: erori legate de formatul JPEG ==&lt;br /&gt;
&lt;br /&gt;
Simptoma:&lt;br /&gt;
&amp;lt;code bash&amp;gt;# zmc -m 1&lt;br /&gt;
Not a JPEG file: starts with 0x48 0x54&amp;lt;/code&amp;gt;&lt;br /&gt;
Camera reda imagini de dimensiunea 640x480, pe 24 biti culoare, deci acestea trebuie sa fie si setarile monitorului ZM.&lt;br /&gt;
Atentie: cu cat imaginea are dimensiuni mai mari si culoare mai adanca, cu atat va creste si valoarea shared memory pe care ZM o cere (a se vedea mai sus).&lt;br /&gt;
&lt;br /&gt;
== A treia problema: Nu apare imagine ==&lt;br /&gt;
&lt;br /&gt;
Simptoma: Nu apare nici o imagine cand se deschide un monitor, in logurile ZM (de obicei aflate in ''/var/log/zm'') totul pare OK, dar in ''/var/log/messages'' apar mesaje de eroare de genul:&lt;br /&gt;
&amp;lt;pre&amp;gt;Got TERM signal, exiting&lt;br /&gt;
Select error: Interrupted system call&lt;br /&gt;
Shared memory not initialised by capture daemon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trebuie verificat ca ''ZM_PATH_ZMS'' sa fie setat corect. In mod normal, in ''/var/www'' trebuie sa existe un director ''cgi-bin'' ce contine doua fisiere, cel putin:&lt;br /&gt;
&amp;lt;code bash&amp;gt;# pwd&lt;br /&gt;
/var/www/cgi-bin&lt;br /&gt;
# ls&lt;br /&gt;
nph-zms zms&amp;lt;/code&amp;gt;&lt;br /&gt;
Deci, in ''ZM_PATH_ZMS'' se pot pune doua valori: ''/cgi-bin/zms'' sau ''/cgi-bin/nph-zms''. Incercati cu ambele, pana cand functioneaza.&lt;br /&gt;
&lt;br /&gt;
== A patra problemă: Camera are uneori probleme şi trebuie resetată. ==&lt;br /&gt;
&lt;br /&gt;
Dacă ZoneMinder nu mai receptează imagini, ping-ul la IP-ul camerei nu mai merge sau are pierderi, trebuie scoasă alimentarea camerei pentru câteva secunde...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Atenţie: server-ul de captura va avea nevoie de un hard disk mare pentru a putea face faţă cantităţii de date trimisă de cameră.&lt;br /&gt;
Puteţi folosi [http://wiki.linux360.ro/wiki/Scripturi_BASH#Stergere_directoare_vechi_de_pe_o_parti.C5.A3ie_pentru_salvarea_spa.C5.A3iului acest script] pentru a rezolva problema.&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Supraveghere_video_sub_Linux_folosind_ZoneMinder&amp;diff=3353</id>
		<title>Supraveghere video sub Linux folosind ZoneMinder</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Supraveghere_video_sub_Linux_folosind_ZoneMinder&amp;diff=3353"/>
				<updated>2007-01-29T23:59:10Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.zoneminder.com/ ZoneMinder] este cel mai profesional soft de monitorizare video disponibil pe Linux.&lt;br /&gt;
&lt;br /&gt;
Am avut ocazia să îl folosesc împreună cu o cameră SOHO CAS-230/E conectată la server-ul cu ZoneMinder prin reţea.&lt;br /&gt;
&lt;br /&gt;
Configuraţia software folosită:&lt;br /&gt;
* ZoneMinder 1.21.0 (ruland pe ZoneMinder LiveCD)&lt;br /&gt;
* ZoneMinder 1.21.3 (ruland pe Mandrake 10.0)&lt;br /&gt;
&lt;br /&gt;
Din interfaţă web ZoneMinder aveţi atenţie la următoarele setări mai delicate:&lt;br /&gt;
* ''ZM_OPT_REMOTE_CAMERAS''  - trebuie bifat in cazul de fata&lt;br /&gt;
* ''ZM_OPT_USE_AUTH''        - nu ar trebui activat in mod normal	&lt;br /&gt;
* ''ZM_PATH_LOGS''           - /var/log/zm ar trebui sa fie trecut aici&lt;br /&gt;
* ''ZM_COLOUR_JPEG_FILES''   - nu e nevoie in cazul de fata&lt;br /&gt;
* ''ZM_NETCAM_REGEXPS''      - (nu exista in 1.21.0) debifat&lt;br /&gt;
* ''ZM_HTTP_VERSION''        - in cazul de fata e 1.1 la 1.21.0 si 1.0 la 1.21.3&lt;br /&gt;
* ''ZM_HTTP_TIMEOUT''        - minim 2500&lt;br /&gt;
* ''ZM_WEB_REFRESH_METHOD''  - http&lt;br /&gt;
* ''ZM_VIDEO_STREAM_METHOD'' - jpeg&lt;br /&gt;
&lt;br /&gt;
După setarea parametrilor de mai sus şi conectarea camerei la server verificaţi următoarele:&lt;br /&gt;
* Comanda&amp;lt;code bash&amp;gt;zmc -m &amp;lt;monitor_ID&amp;gt;&amp;lt;/code&amp;gt;nu trebuie să returneze imediat. Daca returneaza imediat (cu, sau fara eroare), ceva nu e bine; verificati log-urile.&lt;br /&gt;
* Memoria partajată (shared memory) (a se vedea [http://wiki.linux360.ro/wiki/Supraveghere_video_sub_Linux_folosind_ZoneMinder#Prima_problema:_memoria_partajat.C4.83_.28shared_memory.29 Prima problema]) se calculeaza astfel: buffer (tabul Buffers de la monitor) x latimea imaginii x inaltimea imaginii x 3 (pentru o imagine de 24 biti). Pentru o imagine 640x480 pe 24 biti ar necesita aproximativ 92Mb memorie shared, cu buffer-ele setate standard.&lt;br /&gt;
&lt;br /&gt;
== Prima problema: memoria partajată (shared memory) ==&lt;br /&gt;
&lt;br /&gt;
Simptoma: în loguri apar mesaje referitoare la shared memory.&lt;br /&gt;
&lt;br /&gt;
Se rezolva prin marirea memoriei partajate.&lt;br /&gt;
&lt;br /&gt;
Memoria partajata alocata curent poate fi afisata cu comenzile:&lt;br /&gt;
&amp;lt;code bash&amp;gt;cat /proc/sys/kernel/shmall&lt;br /&gt;
cat /proc/sys/kernel/shmmax&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valorile returnate sunt in biti si ar trebui sa fie minim 134217728 (128 Mb). &lt;br /&gt;
Daca valorile returnate sunt mai mici decat minimul precizat, ar trebui marite. Pentru a le mari definitiv se editeaza valorile ''kernel.shmall'' si ''kernel.shmmax'' din ''/etc/sysctl.conf''. Daca aceste variabile nu exista in ''sysctl.conf'', ele vor fi create.&lt;br /&gt;
Atentie: valorile setate in ''sysctl.conf'' nu vor fi incarcate decat abia la bootare si daca nu puteti reboot-a sistemul chiar acum, puteti modifica valorile si din mers cu comenzile:&lt;br /&gt;
&amp;lt;code bash&amp;gt;echo VALOARE_NOUA &amp;gt;/proc/sys/kernel/shmall&lt;br /&gt;
echo VALOARE_NOUA &amp;gt;/proc/sys/kernel/shmmax&amp;lt;/code&amp;gt;&lt;br /&gt;
De exemplu:&amp;lt;code bash&amp;gt;echo 134217728 &amp;gt;/proc/sys/kernel/shmall&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A doua problema: erori legate de formatul JPEG ==&lt;br /&gt;
&lt;br /&gt;
Simptoma:&lt;br /&gt;
&amp;lt;code bash&amp;gt;# zmc -m 1&lt;br /&gt;
Not a JPEG file: starts with 0x48 0x54&amp;lt;/code&amp;gt;&lt;br /&gt;
Camera reda imagini de dimensiunea 640x480, pe 24 biti culoare, deci acestea trebuie sa fie si setarile monitorului ZM.&lt;br /&gt;
Atentie: cu cat imaginea are dimensiuni mai mari si culoare mai adanca, cu atat va creste si valoarea shared memory pe care ZM o cere (a se vedea mai sus).&lt;br /&gt;
&lt;br /&gt;
== A treia problema: Nu apare imagine ==&lt;br /&gt;
&lt;br /&gt;
Simptoma: Nu apare nici o imagine cand se deschide un monitor, in logurile ZM (de obicei aflate in ''/var/log/zm'') totul pare OK, dar in ''/var/log/messages'' apar mesaje de eroare de genul:&lt;br /&gt;
&amp;lt;pre&amp;gt;Got TERM signal, exiting&lt;br /&gt;
Select error: Interrupted system call&lt;br /&gt;
Shared memory not initialised by capture daemon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trebuie verificat ca ''ZM_PATH_ZMS'' sa fie setat corect. In mod normal, in ''/var/www'' trebuie sa existe un director ''cgi-bin'' ce contine doua fisiere, cel putin:&lt;br /&gt;
&amp;lt;code bash&amp;gt;# pwd&lt;br /&gt;
/var/www/cgi-bin&lt;br /&gt;
# ls&lt;br /&gt;
nph-zms zms&amp;lt;/code&amp;gt;&lt;br /&gt;
Deci, in ''ZM_PATH_ZMS'' se pot pune doua valori: ''/cgi-bin/zms'' sau ''/cgi-bin/nph-zms''. Incercati cu ambele, pana cand functioneaza.&lt;br /&gt;
&lt;br /&gt;
== A patra problemă: Camera are uneori probleme şi trebuie resetată. ==&lt;br /&gt;
&lt;br /&gt;
Dacă ZoneMinder nu mai receptează imagini, ping-ul la IP-ul camerei nu mai merge sau are pierderi, trebuie scoasă alimentarea camerei pentru câteva secunde...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Atenţie: server-ul de captura va avea nevoie de un hard disk mare pentru a putea face faţă cantităţii de date trimisă de cameră.&lt;br /&gt;
Puteţi folosi [http://wiki.linux360.ro/wiki/Scripturi_BASH#Stergere_directoare_vechi_de_pe_o_parti.C5.A3ie_pentru_salvarea_spa.C5.A3iului acest script] pentru a rezolva problema.&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Supraveghere_video_sub_Linux_folosind_ZoneMinder&amp;diff=3352</id>
		<title>Supraveghere video sub Linux folosind ZoneMinder</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Supraveghere_video_sub_Linux_folosind_ZoneMinder&amp;diff=3352"/>
				<updated>2007-01-29T23:58:42Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.zoneminder.com/ ZoneMinder] este cel mai profesional soft de monitorizare video disponibil pe Linux.&lt;br /&gt;
&lt;br /&gt;
Am avut ocazia să îl folosesc împreună cu o cameră SOHO CAS-230/E conectată la server-ul cu ZoneMinder prin reţea.&lt;br /&gt;
&lt;br /&gt;
Configuraţia software folosită:&lt;br /&gt;
* ZoneMinder 1.21.0 (ruland pe ZoneMinder LiveCD)&lt;br /&gt;
* ZoneMinder 1.21.3 (ruland pe Mandrake 10.0)&lt;br /&gt;
&lt;br /&gt;
Din interfaţă web ZoneMinder aveţi atenţie la următoarele setări mai delicate:&lt;br /&gt;
* ''ZM_OPT_REMOTE_CAMERAS''  - trebuie bifat in cazul de fata&lt;br /&gt;
* ''ZM_OPT_USE_AUTH''        - nu ar trebui activat in mod normal	&lt;br /&gt;
* ''ZM_PATH_LOGS''           - /var/log/zm ar trebui sa fie trecut aici&lt;br /&gt;
* ''ZM_COLOUR_JPEG_FILES''   - nu e nevoie in cazul de fata&lt;br /&gt;
* ''ZM_NETCAM_REGEXPS''      - (nu exista in 1.21.0) debifat&lt;br /&gt;
* ''ZM_HTTP_VERSION''        - in cazul de fata e 1.1 la 1.21.0 si 1.0 la 1.21.3&lt;br /&gt;
* ''ZM_HTTP_TIMEOUT''        - minim 2500&lt;br /&gt;
* ''ZM_WEB_REFRESH_METHOD''  - http&lt;br /&gt;
* ''ZM_VIDEO_STREAM_METHOD'' - jpeg&lt;br /&gt;
&lt;br /&gt;
După setarea parametrilor de mai sus şi conectarea camerei la server verificaţi următoarele:&lt;br /&gt;
* Comanda&amp;lt;code bash&amp;gt;zmc -m &amp;lt;monitor_ID&amp;gt;&amp;lt;/code&amp;gt;nu trebuie să returneze imediat. Daca returneaza imediat (cu, sau fara eroare), ceva nu e bine; verificati log-urile.&lt;br /&gt;
* Memoria partajată (shared memory) (a se vedea Prima problema) se calculeaza astfel: buffer (tabul Buffers de la monitor) x latimea imaginii x inaltimea imaginii x 3 (pentru o imagine de 24 biti). Pentru o imagine 640x480 pe 24 biti ar necesita aproximativ 92Mb memorie shared, cu buffer-ele setate standard.&lt;br /&gt;
&lt;br /&gt;
== Prima problema: memoria partajată (shared memory) ==&lt;br /&gt;
&lt;br /&gt;
Simptoma: în loguri apar mesaje referitoare la shared memory.&lt;br /&gt;
&lt;br /&gt;
Se rezolva prin marirea memoriei partajate.&lt;br /&gt;
&lt;br /&gt;
Memoria partajata alocata curent poate fi afisata cu comenzile:&lt;br /&gt;
&amp;lt;code bash&amp;gt;cat /proc/sys/kernel/shmall&lt;br /&gt;
cat /proc/sys/kernel/shmmax&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valorile returnate sunt in biti si ar trebui sa fie minim 134217728 (128 Mb). &lt;br /&gt;
Daca valorile returnate sunt mai mici decat minimul precizat, ar trebui marite. Pentru a le mari definitiv se editeaza valorile ''kernel.shmall'' si ''kernel.shmmax'' din ''/etc/sysctl.conf''. Daca aceste variabile nu exista in ''sysctl.conf'', ele vor fi create.&lt;br /&gt;
Atentie: valorile setate in ''sysctl.conf'' nu vor fi incarcate decat abia la bootare si daca nu puteti reboot-a sistemul chiar acum, puteti modifica valorile si din mers cu comenzile:&lt;br /&gt;
&amp;lt;code bash&amp;gt;echo VALOARE_NOUA &amp;gt;/proc/sys/kernel/shmall&lt;br /&gt;
echo VALOARE_NOUA &amp;gt;/proc/sys/kernel/shmmax&amp;lt;/code&amp;gt;&lt;br /&gt;
De exemplu:&amp;lt;code bash&amp;gt;echo 134217728 &amp;gt;/proc/sys/kernel/shmall&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A doua problema: erori legate de formatul JPEG ==&lt;br /&gt;
&lt;br /&gt;
Simptoma:&lt;br /&gt;
&amp;lt;code bash&amp;gt;# zmc -m 1&lt;br /&gt;
Not a JPEG file: starts with 0x48 0x54&amp;lt;/code&amp;gt;&lt;br /&gt;
Camera reda imagini de dimensiunea 640x480, pe 24 biti culoare, deci acestea trebuie sa fie si setarile monitorului ZM.&lt;br /&gt;
Atentie: cu cat imaginea are dimensiuni mai mari si culoare mai adanca, cu atat va creste si valoarea shared memory pe care ZM o cere (a se vedea mai sus).&lt;br /&gt;
&lt;br /&gt;
== A treia problema: Nu apare imagine ==&lt;br /&gt;
&lt;br /&gt;
Simptoma: Nu apare nici o imagine cand se deschide un monitor, in logurile ZM (de obicei aflate in ''/var/log/zm'') totul pare OK, dar in ''/var/log/messages'' apar mesaje de eroare de genul:&lt;br /&gt;
&amp;lt;pre&amp;gt;Got TERM signal, exiting&lt;br /&gt;
Select error: Interrupted system call&lt;br /&gt;
Shared memory not initialised by capture daemon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trebuie verificat ca ''ZM_PATH_ZMS'' sa fie setat corect. In mod normal, in ''/var/www'' trebuie sa existe un director ''cgi-bin'' ce contine doua fisiere, cel putin:&lt;br /&gt;
&amp;lt;code bash&amp;gt;# pwd&lt;br /&gt;
/var/www/cgi-bin&lt;br /&gt;
# ls&lt;br /&gt;
nph-zms zms&amp;lt;/code&amp;gt;&lt;br /&gt;
Deci, in ''ZM_PATH_ZMS'' se pot pune doua valori: ''/cgi-bin/zms'' sau ''/cgi-bin/nph-zms''. Incercati cu ambele, pana cand functioneaza.&lt;br /&gt;
&lt;br /&gt;
== A patra problemă: Camera are uneori probleme şi trebuie resetată. ==&lt;br /&gt;
&lt;br /&gt;
Dacă ZoneMinder nu mai receptează imagini, ping-ul la IP-ul camerei nu mai merge sau are pierderi, trebuie scoasă alimentarea camerei pentru câteva secunde...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Atenţie: server-ul de captura va avea nevoie de un hard disk mare pentru a putea face faţă cantităţii de date trimisă de cameră.&lt;br /&gt;
Puteţi folosi [http://wiki.linux360.ro/wiki/Scripturi_BASH#Stergere_directoare_vechi_de_pe_o_parti.C5.A3ie_pentru_salvarea_spa.C5.A3iului acest script] pentru a rezolva problema.&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=3351</id>
		<title>Scripturi BASH</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=3351"/>
				<updated>2007-01-29T23:57:01Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Exemple scripturi BASH ==&lt;br /&gt;
&lt;br /&gt;
=== Scripturi care permit schimbarea rapida a MAC+IP ===&lt;br /&gt;
&lt;br /&gt;
[[User:Raptor360|Raptor360]] 12:33, 8 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
====getmac====&lt;br /&gt;
&lt;br /&gt;
Primeste ca parametru un IP si returneaza MAC-ul acestuia sau &amp;quot;&amp;quot; daca nu exista in retea nodul cu pricina.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/getmac''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
mac=`arping -I $IFDEVICE $1 -c 3 | grep reply | cut -f2 -d\[ | cut -f1 -d\] | uniq`&lt;br /&gt;
echo $mac&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====be====&lt;br /&gt;
Primeste ca parametru un IP si schimba MAC-ul si IP-ul pentru un device.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/be''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
gip=`echo -e &amp;quot;$1\t&amp;quot;`&lt;br /&gt;
echo -e &amp;quot; IP is $1.&amp;quot;&lt;br /&gt;
mac=`cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2`&lt;br /&gt;
echo -e &amp;quot;MAC is $mac.&amp;quot;&lt;br /&gt;
if [[ $mac != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
        ifconfig $IFDEVICE down&lt;br /&gt;
        ifconfig $IFDEVICE hw ether $mac&lt;br /&gt;
        ifconfig $IFDEVICE $1 netmask 255.255.248.0 broadcast 10.10.17.255&lt;br /&gt;
        route add default gw 10.10.17.1&lt;br /&gt;
        # echo &amp;quot;nameserver 10.10.17.1&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;$1 has not an associated MAC.&amp;quot;&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====switchuser==== &lt;br /&gt;
&lt;br /&gt;
Schimba MAC-ul si IP-ul aleator conform unuia stocat in /etc/stored folosind scripturile anterioare.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/switchuser''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
notfound=1&lt;br /&gt;
while [[ $notfound -eq 1 ]]; do&lt;br /&gt;
        rip=`echo &amp;quot;$RANDOM % 252 + 3&amp;quot; | bc`&lt;br /&gt;
        for i in `seq $rip 254`; do&lt;br /&gt;
                randip=&amp;quot;10.10.17.$i&amp;quot;&lt;br /&gt;
                gip=`echo -e &amp;quot;$randip\t&amp;quot;`&lt;br /&gt;
                if [[ `cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2` != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                        if [[ `getmac $randip` == &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                                be $randip&lt;br /&gt;
                                exit 0&lt;br /&gt;
                                notfound=1&lt;br /&gt;
                        else&lt;br /&gt;
                                echo &amp;quot;IP $randip is already active.&amp;quot;&lt;br /&gt;
                        fi&lt;br /&gt;
                else&lt;br /&gt;
                        echo &amp;quot;$randip has no MAC associated.&amp;quot;&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
done&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scripturile folosesc fisierul de configurare ''/etc/stored'' in care se adauga perechi de forma: IP\tMAC, e.g. &amp;lt;code&amp;gt;10.10.17.241    00:20:ED:95:2A:A1&lt;br /&gt;
10.10.17.242    4C:00:10:53:BF:A5&amp;lt;/code&amp;gt; precum si variabila din enviroment IFDEVICE daca este definita. e.g. daca vrem sa schimbam ip-ul doar pentru device-ul eth1 atunci apelam la:&lt;br /&gt;
&amp;lt;code&amp;gt;# IFDEVICE=eth1 switchuser &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script care lanseaza in fundal o anumita comanda data ca parametru de intrare ===&lt;br /&gt;
Puteti lasa o comanda sa se execute in fundal fara ca ea sa fie intrerupta la&lt;br /&gt;
iesirea dumneavoastra din sistem folosind urmatorul script pe care l-am numit&lt;br /&gt;
silent. (output-ul nu este salvat, pentru aceasta puteti folosi nohup)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Executing \&amp;quot;$*\&amp;quot;&amp;quot;&lt;br /&gt;
setsid bash -c $* 2&amp;gt;&amp;gt;/dev/null 1&amp;gt;&amp;gt;/dev/null &amp;lt; /dev/null &amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scriptul il puteti folosi de exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ silent wget -c -t 0 www.bigfiles.com/ubuntu.iso&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script ce elimina zona asociata unui domeniu dat ca parametru de intrare ===&lt;br /&gt;
&lt;br /&gt;
Puteţi elimina porţiunea din named.conf de la&lt;br /&gt;
&amp;lt;tt&amp;gt;zone &amp;quot;nume.domeniu.dat.ca.parametru.de.intrare&amp;quot; {&amp;lt;/tt&amp;gt;&lt;br /&gt;
până la acolada închisă asociată acoladei deschise de mai sus.&lt;br /&gt;
&lt;br /&gt;
Scriptul este:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Bind zone remove script&lt;br /&gt;
#&lt;br /&gt;
# Copyright (C) 2005 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
if [ ! $# = 1 ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 domain&amp;quot;;&lt;br /&gt;
    echo &amp;quot;The path to named.conf is defined inside the script&amp;quot;;&lt;br /&gt;
    		 else&lt;br /&gt;
	pathToNamedDotConf=/etc/named.conf&lt;br /&gt;
	&lt;br /&gt;
	x=$(grep -n &amp;quot;zone \&amp;quot;$1\&amp;quot; {&amp;quot; $pathToNamedDotConf | cut -f1 -d:)&lt;br /&gt;
	sed $x,/\}\;/d $pathToNamedDotConf &amp;gt; temp&lt;br /&gt;
	c=$(sed -n $x'p' &amp;lt; temp)&lt;br /&gt;
	if [ &amp;quot;x`echo $c | grep &amp;quot;zone&amp;quot;`&amp;quot; = &amp;quot;x&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		sed $x' d' temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	else&lt;br /&gt;
		cat temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f temp&lt;br /&gt;
	exit&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cautarea unui fisier ce contine un anumit string ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;find /path -name &amp;quot;*&amp;quot; -exec grep -H &amp;quot;&amp;lt;string&amp;gt;&amp;quot;  '{}' \;&amp;lt;/code&amp;gt;&lt;br /&gt;
sau&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;grep -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fireste, &amp;lt;tt&amp;gt;&amp;amp;lt;string&amp;amp;gt;&amp;lt;/tt&amp;gt; poate fi atat un sir de caractere cat si orice fel de expresie regulata suportata de versiunea particulara de &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; disponibila pe masina in cauza.&amp;lt;br /&amp;gt;&lt;br /&gt;
Deasemenea, pentru a cauta fara a face diferenta intre majuscule si minuscule, adaugati parametrul &amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt; la &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Daca doriti ca in output-ul comenzii &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; expresia cautata sa fie cautata sa fie evidentiata puteti folosi parametrul &amp;lt;tt&amp;gt;--color&amp;lt;/tt&amp;gt; astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;grep --color -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stergerea fisierelor backup ===&lt;br /&gt;
&lt;br /&gt;
Asa cum stiti, prin traditie in *NIX, editoarele text fac o copie de siguranta fisierelor editate, copie de siguranta ce este denumita identic cu fisierul initial plus caracterul tilda ('''~'''). Ei bine... in cazul aplicatiilor web, acest backup mai mult dauneaza decat sa ajute.&lt;br /&gt;
Nu ar fi prea placut sa aveti un &amp;lt;tt&amp;gt;index.php~&amp;lt;/tt&amp;gt;  in &amp;lt;tt&amp;gt;DocumentRoot&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;find /path -name &amp;quot;*~&amp;quot; | xargs -n 20 rm -f&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme cu spatiul pe disc? ===&lt;br /&gt;
&lt;br /&gt;
Nu stiti unde &amp;quot;vi s-a dus&amp;quot; spatiul de pe disc si e cam greu sa verificati fiecare director in parte?&amp;lt;br /&amp;gt;&lt;br /&gt;
Linia urmatoare va ajuta, facand totodata si o sortare.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;du --max-depth=1 /path | sort -rn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gasirea fisierelor duplicate intr-un director ===&lt;br /&gt;
Aveti prea multe mp3-uri si majoritatea sunt duplicate dar cu alt nume sau orice de genul folositi scriptul de mai jos:D Eventual adaugati si un -maxdepth 1 sa nu fie recursiv.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if [ ! -d &amp;quot;$1&amp;quot; ]; then &lt;br /&gt;
  echo &amp;quot;Usage $0 &amp;lt;dir&amp;gt;&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
find &amp;quot;$1&amp;quot; -type f -print0 |   xargs -0 -n1 md5sum |     sort --key=1,32 | uniq -w 32 -d --all-repeated=prepend \&lt;br /&gt;
                                     |cut -f3- -d' '|sed 's/^$/Fisiere identice:/'&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calcularea recordului de uptime ===&lt;br /&gt;
&lt;br /&gt;
Scriptul urmator va trebui plasat in crontab astfel incat sa ruleze periodic, de exemplu, din ora in ora. El va afisa in fisierul ''$output'' (initial ''/var/log/uptimeRecord.log'') output-ul comenzilor ''uptime'' si ''date'' (adica uptime-ul record si data la care a fost inregistrat).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Copyright (C) 2006 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
output='/var/log/uptimeRecord.log'&lt;br /&gt;
&lt;br /&gt;
function compareHrs&lt;br /&gt;
{&lt;br /&gt;
        uptimeCurent=`uptime`&lt;br /&gt;
        if [ `echo $uptimeCurent | grep -c day` == '0' ]; then&lt;br /&gt;
#               echo Uptime mai mic de o zi&lt;br /&gt;
                uptimeCurentOre=`uptime | awk '{print $3}'`&lt;br /&gt;
                uptimeRecordOre=`cat $output | head -1 | awk '{print $3}'`&lt;br /&gt;
        else&lt;br /&gt;
                uptimeCurentOre=`uptime | awk '{print $5}'`&lt;br /&gt;
                uptimeRecordOre=`cat $output | head -1 | awk '{print $5}'`&lt;br /&gt;
        fi&lt;br /&gt;
        if [ `expr length $uptimeCurentOre` \&amp;gt; `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
#               echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 1&lt;br /&gt;
                uptime &amp;gt; $output&lt;br /&gt;
                date &amp;gt;&amp;gt; $output&lt;br /&gt;
        else&lt;br /&gt;
                if [ `expr length $uptimeCurentOre` == `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
                        uptimeCurentOra=`echo $uptimeCurentOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        uptimeRecordOra=`echo $uptimeRecordOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        if [ $uptimeCurentOra -gt $uptimeRecordOra ]; then&lt;br /&gt;
#                               echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 2&lt;br /&gt;
                                uptime &amp;gt; $output&lt;br /&gt;
                                date &amp;gt;&amp;gt; $output&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -a $output ]; then&lt;br /&gt;
        uptimeCurent=`uptime`&lt;br /&gt;
        uptimeRecord=`cat $output | head -1`&lt;br /&gt;
        if [ `echo $uptimeCurent | grep -c day` == '0' ]; then&lt;br /&gt;
#               echo Uptime mai mic de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi, comparam orele&lt;br /&gt;
                        compareHrs&lt;br /&gt;
#               else&lt;br /&gt;
#                       echo Uptime record mai mare ca uptime curent&lt;br /&gt;
                fi&lt;br /&gt;
        else&lt;br /&gt;
#               echo Uptime mai mare de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi&lt;br /&gt;
                        uptime &amp;gt; $output&lt;br /&gt;
                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                else&lt;br /&gt;
                        uptimeCurentZile=`uptime | awk '{print $3}'`&lt;br /&gt;
                        uptimeRecordZile=`cat $output | head -1 | awk '{print $3}'`&lt;br /&gt;
                        if [ $uptimeCurentZile -eq $uptimeRecordZile ]; then&lt;br /&gt;
#                               echo Uptime in zile egal&lt;br /&gt;
                                compareHrs&lt;br /&gt;
                        else&lt;br /&gt;
                                if [ $uptimeCurentZile -gt $uptimeRecordZile ]; then&lt;br /&gt;
#                                       echo Record nou&lt;br /&gt;
                                        uptime &amp;gt; $output&lt;br /&gt;
                                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                                fi&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
else&lt;br /&gt;
#       echo Fisierul nu exista, deci trebuie creat. Recordul e uptime-ul curent&lt;br /&gt;
        uptime &amp;gt; $output&lt;br /&gt;
        date &amp;gt;&amp;gt; $output&lt;br /&gt;
fi&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;
=== Stergere directoare vechi de pe o partiţie pentru salvarea spaţiului ===&lt;br /&gt;
&lt;br /&gt;
Scriptul următor poate fi plasat în cron şi rulat cam din oră în oră pentru a şterge directoare vechi. Un exemplu clasic este ştergerea jpeg-urilor generate de cameră de supraveghere conectată la un server Linux:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code bash&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Copyright (C) 2005-2007 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
# Constante:&lt;br /&gt;
partitie=/var/www # partitia monitorizata&lt;br /&gt;
procentMaxim=&amp;quot;97%&amp;quot; # procentul maxim de ocupare acceptat pt partitia monitorizata&lt;br /&gt;
X=1 # se vor sterge directoarele mai vechi de X zile&lt;br /&gt;
director=/var/www/html/camera/events/2 # directorul din care se vor sterge subdirectoarele&lt;br /&gt;
&lt;br /&gt;
# Cat de ocupata este partitia monitorizata (in procente):&lt;br /&gt;
procentOcupare=$(df -h | grep $partitie | awk '{print $5}')&lt;br /&gt;
&lt;br /&gt;
if [[ &amp;quot;$procentMaxim&amp;quot; &amp;lt; &amp;quot;$procentOcupare&amp;quot; ]] || [ &amp;quot;$procentOcupare&amp;quot; == &amp;quot;100%&amp;quot; ];&lt;br /&gt;
	then # trebuie sterse directoarele mai vechi de X zile&lt;br /&gt;
		find $director -type d -mtime +$X -exec rm -rf {} \;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Category:Collection]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Internet_mobil_cu_Vodafone_SmartModem&amp;diff=3327</id>
		<title>Internet mobil cu Vodafone SmartModem</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Internet_mobil_cu_Vodafone_SmartModem&amp;diff=3327"/>
				<updated>2007-01-11T16:40:58Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vă voi prezenta aici cum am reuşit să fac să funcţioneze conexiunea la internet folosind un Vodafone SmartModem.&lt;br /&gt;
[http://www.vodafone.ro/personal/servicii-si-tarife/internet-si-date/acces-mobil-la-internet/vodafone-smartmodem/ Acesta] este modemul. Pe spatele lui ar trebui să scrie Huawei E220.&lt;br /&gt;
&lt;br /&gt;
Pentru conectarea la calculator el vine cu două cabluri USB; '''Îl vom folosi pe cel scurt''' deoarece din ce am citit sunt cazuri în care cel lung nu funcţionează.&lt;br /&gt;
&lt;br /&gt;
De asemenea, el are o cartelă Vodafone în el. În timp ce e oprit, scoateţi cartela, introduceţi-o într-un telefon şi '''dezactivaţi-i cererea PIN-ului'''. Am auzit că e mai simplu fără PIN şi aşa merge la mine.&lt;br /&gt;
&lt;br /&gt;
Modemul include şi o interfaţă USB Mass Storage. Practic are ceva memorie flash comportându-se ca un CD-ROM în prima fază. Pe Windows e un lucru foarte bun, modemul având în memoria respectivă driver-e, programul de conectare şi un ''Autorun''. Pe Linux această interfaţă USB Mass Storage complică puţin lucrurile deoarece după ce HALd o detectează, o montează şi se opreşte aici, &amp;quot;uitând&amp;quot; să mai cerceteze dacă nu cumva dispozitivul USB proaspăt ataşat nu e mai mult decât un simplu CD-ROM.&lt;br /&gt;
&lt;br /&gt;
Comenzile de mai jos vor fi introduse ca root. Dacă vreuna din comenzile de mai jos nu vă funcţionează, instalaţi pachetul corespunzător (nu este scopul acestui ghid).&lt;br /&gt;
&lt;br /&gt;
Să trecem la treabă!&lt;br /&gt;
&lt;br /&gt;
* dezactivaţi conexiunile la internet existente (LAN, Wireless):&lt;br /&gt;
** Ubuntu (&amp;amp; family): System Settings &amp;gt; Network Settings: Disable&lt;br /&gt;
** openSUSE: Yast2 &amp;gt; Network devices: Delete&lt;br /&gt;
** Mandriva: Mandriva Control Center &amp;gt; Network &amp;amp; Internet: Delete a network interface&lt;br /&gt;
* conectaţi modemul la calculator şi aşteptaţi câteva secunde&lt;br /&gt;
* dacă folosiţi KDE în câteva secunde veţi fi întrebaţi ce să faceţi cu CD-ROM-ul proaspăt detectat de HALd. Alegeţi &amp;quot;Do nothing&amp;quot;.&lt;br /&gt;
** depinzând de distribuţie, versiunea de HALd/KDE, s-ar putea ca CD-ROM-ul să fie deja montat. Verificaţi cu &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt;&lt;br /&gt;
** în cazul openSUSE va fi necesar un &amp;lt;code&amp;gt;umount /dev/sr1&amp;lt;/code&amp;gt;&lt;br /&gt;
* descărcaţi [http://www.kanoistika.sk/bobovsky/archiv/umts/huaweiAktBbo-i386.out Activator] şi rulaţi-l (are nevoie de drepturi de execuţie)&lt;br /&gt;
* dacă CD-ROM-ul e detectat din nou şi e remontat, Activator-ul nu a funcţionat. Indiferent dacă a funcţionat sau nu, trebuie verificat ce dispozitive au fost create. Dacă '''nu aveţi 2 sau 3 dispozitive listate, nu e bine''': &amp;lt;code&amp;gt;ls -l /dev/ttyU*&amp;lt;/code&amp;gt;&lt;br /&gt;
* dacă '''nu aveţi 2 sau 3 dispozitive listate''' atunci va trebui să faceţi următoarele:&lt;br /&gt;
** scoateţi modulul responsabil pentru detectarea interfeţelor USB Mass Storage (va da eroare dacă CD-ROM-ul modemului e înca montat!): &amp;lt;code&amp;gt;rmmod usb_storage&amp;lt;/code&amp;gt;&lt;br /&gt;
** adăugaţi modulul responsabil pentru detectarea modemurilor USB. Parametrii pot fi diferiţi deci verificaţi cu lsusb. Cazul meu:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
lsusb&lt;br /&gt;
...&lt;br /&gt;
Bus 003 Device 008: ID 12d1:1003&lt;br /&gt;
...&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;modprobe usbserial vendor=0x12d1 product=0x1003&amp;lt;/code&amp;gt;&lt;br /&gt;
* ar trebui să aveţi 2 sau 3 dispozitive ttyU*:&lt;br /&gt;
&amp;lt;code&amp;gt;ls -l /dev/ttyU*&lt;br /&gt;
crw-rw---- 1 root uucp 188, 0 Jan 10 10:07 /dev/ttyUSB0&lt;br /&gt;
crw-rw---- 1 root uucp 188, 1 Jan 10 10:07 /dev/ttyUSB1&lt;br /&gt;
crw-rw---- 1 root uucp 188, 2 Jan 10 10:07 /dev/ttyUSB2&amp;lt;/code&amp;gt;&lt;br /&gt;
* ''/etc/wvdial.conf'' trebuie să conţină următoarele:&lt;br /&gt;
&amp;lt;pre&amp;gt;[Dialer pin]&lt;br /&gt;
Init1 = AT+CPIN=1234&lt;br /&gt;
&lt;br /&gt;
[Dialer hsdpa]&lt;br /&gt;
Phone = *99***16#&lt;br /&gt;
Username = internet.vodafone.ro&lt;br /&gt;
Password = vodafone&lt;br /&gt;
Stupid Mode = 1&lt;br /&gt;
Dial Command = ATDT&lt;br /&gt;
Modem = /dev/ttyUSB0&lt;br /&gt;
Baud = 460800&lt;br /&gt;
Init2 = ATZ&lt;br /&gt;
Init3 = ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
ISDN = 0&lt;br /&gt;
Modem Type = Analog Modem&lt;br /&gt;
Init5 =AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;internet.vodafone.ro&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** evident secţiunea ''pin'' poate lipsi sau, PIN-ul poate fi altul decât 1234&lt;br /&gt;
* comanda de conectare fără PIN (cazul meu şi cazul recomandat):&lt;br /&gt;
&amp;lt;code&amp;gt;wvdial hsdpa&lt;br /&gt;
--&amp;gt; WvDial: Internet dialer version 1.54.0&lt;br /&gt;
--&amp;gt; Cannot get information for serial port.&lt;br /&gt;
--&amp;gt; Initializing modem.&lt;br /&gt;
--&amp;gt; Sending: ATZ&lt;br /&gt;
ATZ&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: ATZ&lt;br /&gt;
ATZ&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;internet.vodafone.ro&amp;quot;;&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Modem initialized.&lt;br /&gt;
--&amp;gt; Sending: ATDT*99***16#&lt;br /&gt;
--&amp;gt; Waiting for carrier.&lt;br /&gt;
CONNECT&lt;br /&gt;
--&amp;gt; Carrier detected.  Starting PPP immediately.&lt;br /&gt;
--&amp;gt; Starting pppd at Wed Jan 10 10:08:24 2007&lt;br /&gt;
--&amp;gt; pid of pppd: 5378&lt;br /&gt;
--&amp;gt; Using interface ppp0&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; local  IP address 172.X.X.X&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; remote IP address 10.64.64.64&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; primary   DNS address 193.230.161.3&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; secondary DNS address 193.230.161.4&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; Script /etc/ppp/ip-up run successful&lt;br /&gt;
--&amp;gt; Default route Ok.&lt;br /&gt;
--&amp;gt; Nameserver (DNS) Ok.&lt;br /&gt;
--&amp;gt; Connected... Press Ctrl-C to disconnect&lt;br /&gt;
--&amp;gt; pppd: Dial Command&amp;lt;/code&amp;gt;&lt;br /&gt;
* comanda de conectare cu PIN (caz nerecomandat):&amp;lt;code&amp;gt;wvdial pin hsdpa&amp;lt;/code&amp;gt;&lt;br /&gt;
** output-ul ar trebui să fie asemănător&lt;br /&gt;
&lt;br /&gt;
Acum ar trebui să fiţi conectaţi!&lt;br /&gt;
&lt;br /&gt;
Ca notă de final:&lt;br /&gt;
&lt;br /&gt;
- ''cea mai sigură metodă'' de conectare: folosind cablul scurt, cu networking-ul dezactivat şi fără cerere PIN (mie îmi funcţionează mereu)&lt;br /&gt;
&lt;br /&gt;
- ''o metodă mai comodă'': folosind cablul lung, cu networking-ul activat (dar cablul de reţea scos) şi fără cerere PIN. E mai comod să nu dezactivaţi reţeaua (în funcţie de setările dvs s-ar putea să fie mai complicat să o reactivaţi) iar uneori cablul lung e de asemenea mai comod decât cel scurt. Mie îmi funcţionează, dar conectarea durează mai mult.&lt;br /&gt;
&lt;br /&gt;
- ''o metodă care nu mi-a mers niciodată'': orice configuraţie cu cererea PIN-ului activată. Mereu primesc &amp;quot;TIMED OUT&amp;quot; la conectare!&lt;br /&gt;
&lt;br /&gt;
Dacă ceva nu merge, întrebaţi pe forum!&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Internet_mobil_cu_Vodafone_SmartModem&amp;diff=3326</id>
		<title>Internet mobil cu Vodafone SmartModem</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Internet_mobil_cu_Vodafone_SmartModem&amp;diff=3326"/>
				<updated>2007-01-11T16:40:06Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vă voi prezenta aici cum am reuşit să fac să funcţioneze conexiunea la internet folosind un Vodafone SmartModem.&lt;br /&gt;
[http://www.vodafone.ro/personal/servicii-si-tarife/internet-si-date/acces-mobil-la-internet/vodafone-smartmodem/ Acesta] este modemul. Pe spatele lui ar trebui să scrie Huawei E220.&lt;br /&gt;
&lt;br /&gt;
Pentru conectarea la calculator el vine cu două cabluri USB; '''Îl vom folosi pe cel scurt''' deoarece din ce am citit sunt cazuri în care cel lung nu funcţionează.&lt;br /&gt;
&lt;br /&gt;
De asemenea, el are o cartelă Vodafone în el. În timp ce e oprit, scoateţi cartela, introduceţi-o într-un telefon şi '''dezactivaţi-i cererea PIN-ului'''. Am auzit că e mai simplu fără PIN şi aşa merge la mine.&lt;br /&gt;
&lt;br /&gt;
Modemul include şi o interfaţă USB Mass Storage. Practic are ceva memorie flash comportându-se ca un CD-ROM în prima fază. Pe Windows e un lucru foarte bun, modemul având în memoria respectivă driver-e, programul de conectare şi un ''Autorun''. Pe Linux această interfaţă USB Mass Storage complică puţin lucrurile deoarece după ce HALd o detectează, o montează şi se opreşte aici, &amp;quot;uitând&amp;quot; să mai cerceteze dacă nu cumva dispozitivul USB proaspăt ataşat nu e mai mult decât un simplu CD-ROM.&lt;br /&gt;
&lt;br /&gt;
Comenzile de mai jos vor fi introduse ca root. Dacă vreuna din comenzile de mai jos nu vă funcţionează, instalaţi pachetul corespunzător (nu este scopul acestui ghid).&lt;br /&gt;
&lt;br /&gt;
Să trecem la treabă!&lt;br /&gt;
&lt;br /&gt;
* dezactivaţi conexiunile la internet existente (LAN, Wireless):&lt;br /&gt;
** Ubuntu (&amp;amp; family): System Settings &amp;gt; Network Settings: Disable&lt;br /&gt;
** openSUSE: Yast2 &amp;gt; Network devices: Delete&lt;br /&gt;
** Mandriva: Mandriva Control Center &amp;gt; Network &amp;amp; Internet: Delete a network interface&lt;br /&gt;
* conectaţi modemul la calculator şi aşteptaţi câteva secunde&lt;br /&gt;
* dacă folosiţi KDE în câteva secunde veţi fi întrebaţi ce să faceţi cu CD-ROM-ul proaspăt detectat de HALd. Alegeţi &amp;quot;Do nothing&amp;quot;.&lt;br /&gt;
** depinzând de distribuţie, versiunea de HALd/KDE, s-ar putea ca CD-ROM-ul să fie deja montat. Verificaţi cu &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt;&lt;br /&gt;
** în cazul openSUSE va fi necesar un &amp;lt;code&amp;gt;umount /dev/sr1&amp;lt;/code&amp;gt;&lt;br /&gt;
* descărcaţi [http://www.kanoistika.sk/bobovsky/archiv/umts/huaweiAktBbo-i386.out Activator] şi rulaţi-l (are nevoie de drepturi de execuţie)&lt;br /&gt;
* dacă CD-ROM-ul e detectat din nou şi e remontat, Activator-ul nu a funcţionat. Indiferent dacă a funcţionat sau nu, trebuie verificat ce dispozitive au fost create. Dacă '''nu aveţi 2 sau 3 dispozitive listate, nu e bine''': &amp;lt;code&amp;gt;ls -l /dev/ttyU*&amp;lt;/code&amp;gt;&lt;br /&gt;
* dacă '''nu aveţi 2 sau 3 dispozitive listate''' atunci va trebui să faceţi următoarele:&lt;br /&gt;
** scoateţi modulul responsabil pentru detectarea interfeţelor USB Mass Storage (va da eroare dacă CD-ROM-ul modemului e înca montat!): &amp;lt;code&amp;gt;rmmod usb_storage&amp;lt;/code&amp;gt;&lt;br /&gt;
** adăugaţi modulul responsabil pentru detectarea modemurilor USB. Parametrii pot fi diferiţi deci verificaţi cu lsusb. Cazul meu:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
lsusb&lt;br /&gt;
...&lt;br /&gt;
Bus 003 Device 008: ID 12d1:1003&lt;br /&gt;
...&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;modprobe usbserial vendor=0x12d1 product=0x1003&amp;lt;/code&amp;gt;&lt;br /&gt;
* ar trebui să aveţi 2 sau 3 dispozitive ttyU*:&lt;br /&gt;
&amp;lt;code&amp;gt;ls -l /dev/ttyU*&lt;br /&gt;
crw-rw---- 1 root uucp 188, 0 Jan 10 10:07 /dev/ttyUSB0&lt;br /&gt;
crw-rw---- 1 root uucp 188, 1 Jan 10 10:07 /dev/ttyUSB1&lt;br /&gt;
crw-rw---- 1 root uucp 188, 2 Jan 10 10:07 /dev/ttyUSB2&amp;lt;/code&amp;gt;&lt;br /&gt;
* ''/etc/wvdial.conf'' trebuie să conţină următoarele:&lt;br /&gt;
&amp;lt;pre&amp;gt;[Dialer pin]&lt;br /&gt;
Init1 = AT+CPIN=1234&lt;br /&gt;
&lt;br /&gt;
[Dialer hsdpa]&lt;br /&gt;
Phone = *99***16#&lt;br /&gt;
Username = internet.vodafone.ro&lt;br /&gt;
Password = vodafone&lt;br /&gt;
Stupid Mode = 1&lt;br /&gt;
Dial Command = ATDT&lt;br /&gt;
Modem = /dev/ttyUSB0&lt;br /&gt;
Baud = 460800&lt;br /&gt;
Init2 = ATZ&lt;br /&gt;
Init3 = ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
ISDN = 0&lt;br /&gt;
Modem Type = Analog Modem&lt;br /&gt;
Init5 =AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;internet.vodafone.ro&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** evident secţiunea ''pin'' poate lipsi sau, PIN-ul poate fi altul decât 1234&lt;br /&gt;
* comanda de conectare fără PIN (cazul meu şi cazul recomandat):&lt;br /&gt;
&amp;lt;code&amp;gt;wvdial hsdpa&lt;br /&gt;
--&amp;gt; WvDial: Internet dialer version 1.54.0&lt;br /&gt;
--&amp;gt; Cannot get information for serial port.&lt;br /&gt;
--&amp;gt; Initializing modem.&lt;br /&gt;
--&amp;gt; Sending: ATZ&lt;br /&gt;
ATZ&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: ATZ&lt;br /&gt;
ATZ&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;internet.vodafone.ro&amp;quot;;&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Modem initialized.&lt;br /&gt;
--&amp;gt; Sending: ATDT*99***16#&lt;br /&gt;
--&amp;gt; Waiting for carrier.&lt;br /&gt;
CONNECT&lt;br /&gt;
--&amp;gt; Carrier detected.  Starting PPP immediately.&lt;br /&gt;
--&amp;gt; Starting pppd at Wed Jan 10 10:08:24 2007&lt;br /&gt;
--&amp;gt; pid of pppd: 5378&lt;br /&gt;
--&amp;gt; Using interface ppp0&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; local  IP address 172.X.X.X&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; remote IP address 10.64.64.64&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; primary   DNS address 193.230.161.3&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; secondary DNS address 193.230.161.4&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; Script /etc/ppp/ip-up run successful&lt;br /&gt;
--&amp;gt; Default route Ok.&lt;br /&gt;
--&amp;gt; Nameserver (DNS) Ok.&lt;br /&gt;
--&amp;gt; Connected... Press Ctrl-C to disconnect&lt;br /&gt;
--&amp;gt; pppd: Dial Command&amp;lt;/code&amp;gt;&lt;br /&gt;
* comanda de conectare cu PIN (caz nerecomandat):&amp;lt;code&amp;gt;wvdial pin hsdpa&amp;lt;/code&amp;gt;&lt;br /&gt;
** output-ul ar trebui să fie asemănător&lt;br /&gt;
&lt;br /&gt;
Acum ar trebui să fiţi conectaţi!&lt;br /&gt;
&lt;br /&gt;
Ca notă de final:&lt;br /&gt;
- ''cea mai sigură metodă'' de conectare: folosind cablul scurt, cu networking-ul dezactivat şi fără cerere PIN (mie îmi funcţionează mereu)&lt;br /&gt;
- ''o metodă mai comodă'': folosind cablul lung, cu networking-ul activat (dar cablul de reţea scos) şi fără cerere PIN. E mai comod să nu dezactivaţi reţeaua (în funcţie de setările dvs s-ar putea să fie mai complicat să o reactivaţi) iar uneori cablul lung e de asemenea mai comod decât cel scurt. Mie îmi funcţionează, dar conectarea durează mai mult.&lt;br /&gt;
- ''o metodă care nu mi-a mers niciodată'': orice configuraţie cu cererea PIN-ului activată. Mereu primesc &amp;quot;TIMED OUT&amp;quot; la conectare!&lt;br /&gt;
&lt;br /&gt;
Dacă ceva nu merge, întrebaţi pe forum!&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Internet_mobil_cu_Vodafone_SmartModem&amp;diff=3324</id>
		<title>Internet mobil cu Vodafone SmartModem</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Internet_mobil_cu_Vodafone_SmartModem&amp;diff=3324"/>
				<updated>2007-01-10T15:04:15Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vă voi prezenta aici cum am reuşit să fac să funcţioneze conexiunea la internet folosind un Vodafone SmartModem.&lt;br /&gt;
[http://www.vodafone.ro/personal/servicii-si-tarife/internet-si-date/acces-mobil-la-internet/vodafone-smartmodem/ Acesta] este modemul. Pe spatele lui ar trebui să scrie Huawei E220.&lt;br /&gt;
&lt;br /&gt;
Pentru conectarea la calculator el vine cu două cabluri USB; '''Îl vom folosi pe cel scurt''' deoarece din ce am citit sunt cazuri în care cel lung nu funcţionează.&lt;br /&gt;
&lt;br /&gt;
De asemenea, el are o cartelă Vodafone în el. În timp ce e oprit, scoate-ţi cartela, introduceţi-o într-un telefon şi dezactivaţi-i cererea PIN-ului. Am auzit că e mai simplu fără PIN şi aşa merge la mine.&lt;br /&gt;
&lt;br /&gt;
Modemul include şi o interfaţă USB Mass Storage. Practic are ceva memorie flash comportându-se ca un CD-ROM în prima fază. Pe Windows e un lucru foarte bun, modemul având în memoria respectivă driver-e, programul de conectare şi un ''Autorun''. Pe Linux această interfaţă USB Mass Storage complică puţin lucrurile deoarece după ce HALd o detectează, o montează şi se opreşte aici, &amp;quot;uitând&amp;quot; să mai cerceteze dacă nu cumva dispozitivul USB proaspăt ataşat nu e mai mult decât un simplu CD-ROM.&lt;br /&gt;
&lt;br /&gt;
Comenzile de mai jos vor fi introduse ca root. Dacă vreuna din comenzile de mai jos nu vă funcţionează, instalaţi pachetul corespunzător (nu este scopul acestui ghid).&lt;br /&gt;
&lt;br /&gt;
Să trecem la treabă!&lt;br /&gt;
&lt;br /&gt;
* dezactivaţi conexiunile la internet existente (LAN, Wireless):&lt;br /&gt;
** Ubuntu (&amp;amp; family): System Settings &amp;gt; Network Settings: Disable&lt;br /&gt;
** openSUSE: Yast2 &amp;gt; Network devices: Delete&lt;br /&gt;
** Mandriva: Mandriva Control Center &amp;gt; Network &amp;amp; Internet: Delete a network interface&lt;br /&gt;
* conectaţi modemul la calculator şi aşteptaţi câteva secunde&lt;br /&gt;
* dacă folosiţi KDE în câteva secunde veţi fi întrebaţi ce să faceţi cu CD-ROM-ul proaspăt detectat de HALd. Alegeţi &amp;quot;Do nothing&amp;quot;.&lt;br /&gt;
** depinzând de distribuţie, versiunea de HALd/KDE, s-ar putea ca CD-ROM-ul să fie deja montat. Verificaţi cu &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt;&lt;br /&gt;
** în cazul openSUSE va fi necesar un &amp;lt;code&amp;gt;umount /dev/sr1&amp;lt;/code&amp;gt;&lt;br /&gt;
* descărcaţi [http://www.kanoistika.sk/bobovsky/archiv/umts/huaweiAktBbo-i386.out Activator] şi rulaţi-l (are nevoie de drepturi de execuţie)&lt;br /&gt;
* dacă CD-ROM-ul e detectat din nou şi e remontat, Activator-ul nu a funcţionat. Indiferent dacă a funcţionat sau nu, trebuie verificat ce dispozitive au fost create. Dacă '''nu aveţi 2 sau 3 dispozitive listate, nu e bine''': &amp;lt;code&amp;gt;ls -l /dev/ttyU*&amp;lt;/code&amp;gt;&lt;br /&gt;
* dacă '''nu aveţi 2 sau 3 dispozitive listate''' atunci va trebui să faceţi următoarele:&lt;br /&gt;
** scoateţi modulul responsabil pentru detectarea interfeţelor USB Mass Storage (va da eroare dacă CD-ROM-ul modemului e înca montat!): &amp;lt;code&amp;gt;rmmod usb_storage&amp;lt;/code&amp;gt;&lt;br /&gt;
** adăugaţi modulul responsabil pentru detectarea modemurilor USB. Parametrii pot fi diferiţi deci verificaţi cu lsusb. Cazul meu:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
lsusb&lt;br /&gt;
...&lt;br /&gt;
Bus 003 Device 008: ID 12d1:1003&lt;br /&gt;
...&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;modprobe usbserial vendor=0x12d1 product=0x1003&amp;lt;/code&amp;gt;&lt;br /&gt;
* ar trebui să aveţi 2 sau 3 dispozitive ttyU*:&lt;br /&gt;
&amp;lt;code&amp;gt;ls -l /dev/ttyU*&lt;br /&gt;
crw-rw---- 1 root uucp 188, 0 Jan 10 10:07 /dev/ttyUSB0&lt;br /&gt;
crw-rw---- 1 root uucp 188, 1 Jan 10 10:07 /dev/ttyUSB1&lt;br /&gt;
crw-rw---- 1 root uucp 188, 2 Jan 10 10:07 /dev/ttyUSB2&amp;lt;/code&amp;gt;&lt;br /&gt;
* ''/etc/wvdial.conf'' trebuie să conţină următoarele:&lt;br /&gt;
&amp;lt;pre&amp;gt;[Dialer pin]&lt;br /&gt;
Init1 = AT+CPIN=1234&lt;br /&gt;
&lt;br /&gt;
[Dialer hsdpa]&lt;br /&gt;
Phone = *99***16#&lt;br /&gt;
Username = internet.vodafone.ro&lt;br /&gt;
Password = vodafone&lt;br /&gt;
Stupid Mode = 1&lt;br /&gt;
Dial Command = ATDT&lt;br /&gt;
Modem = /dev/ttyUSB0&lt;br /&gt;
Baud = 460800&lt;br /&gt;
Init2 = ATZ&lt;br /&gt;
Init3 = ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
ISDN = 0&lt;br /&gt;
Modem Type = Analog Modem&lt;br /&gt;
Init5 =AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;internet.vodafone.ro&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** evident secţiunea ''pin'' poate lipsi sau, PIN-ul poate fi altul decât 1234&lt;br /&gt;
* comanda de conectare fără PIN (cazul meu şi cazul recomandat):&lt;br /&gt;
&amp;lt;code&amp;gt;wvdial hsdpa&lt;br /&gt;
--&amp;gt; WvDial: Internet dialer version 1.54.0&lt;br /&gt;
--&amp;gt; Cannot get information for serial port.&lt;br /&gt;
--&amp;gt; Initializing modem.&lt;br /&gt;
--&amp;gt; Sending: ATZ&lt;br /&gt;
ATZ&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: ATZ&lt;br /&gt;
ATZ&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;internet.vodafone.ro&amp;quot;;&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Modem initialized.&lt;br /&gt;
--&amp;gt; Sending: ATDT*99***16#&lt;br /&gt;
--&amp;gt; Waiting for carrier.&lt;br /&gt;
CONNECT&lt;br /&gt;
--&amp;gt; Carrier detected.  Starting PPP immediately.&lt;br /&gt;
--&amp;gt; Starting pppd at Wed Jan 10 10:08:24 2007&lt;br /&gt;
--&amp;gt; pid of pppd: 5378&lt;br /&gt;
--&amp;gt; Using interface ppp0&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; local  IP address 172.X.X.X&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; remote IP address 10.64.64.64&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; primary   DNS address 193.230.161.3&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; secondary DNS address 193.230.161.4&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; Script /etc/ppp/ip-up run successful&lt;br /&gt;
--&amp;gt; Default route Ok.&lt;br /&gt;
--&amp;gt; Nameserver (DNS) Ok.&lt;br /&gt;
--&amp;gt; Connected... Press Ctrl-C to disconnect&lt;br /&gt;
--&amp;gt; pppd: Dial Command&amp;lt;/code&amp;gt;&lt;br /&gt;
* comanda de conectare cu PIN (caz nerecomandat):&amp;lt;code&amp;gt;wvdial pin hsdpa&amp;lt;/code&amp;gt;&lt;br /&gt;
** output-ul ar trebui să fie asemănător&lt;br /&gt;
&lt;br /&gt;
Acum ar trebui să fiţi conectaţi! Dacă ceva nu merge, întrebaţi pe forum!&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Internet_mobil_cu_Vodafone_SmartModem&amp;diff=3323</id>
		<title>Internet mobil cu Vodafone SmartModem</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Internet_mobil_cu_Vodafone_SmartModem&amp;diff=3323"/>
				<updated>2007-01-10T13:41:00Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vă voi prezenta aici cum am reuşit să fac să funcţioneze conexiunea la internet folosind un Vodafone SmartModem.&lt;br /&gt;
[http://www.vodafone.ro/personal/servicii-si-tarife/internet-si-date/acces-mobil-la-internet/vodafone-smartmodem/ Acesta] este modemul. Pe spatele lui ar trebui să scrie Huawei E220.&lt;br /&gt;
&lt;br /&gt;
Pentru conectarea la calculator el vine cu două cabluri USB; '''Îl vom folosi pe cel scurt''' deoarece din ce am citit sunt cazuri în care cel lung nu funcţionează.&lt;br /&gt;
&lt;br /&gt;
De asemenea, el are o cartelă Vodafone în el. În timp ce e oprit, scoate-ţi cartela, introduceţi-o într-un telefon şi dezactivaţi-i cererea PIN-ului. Am auzit că e mai simplu fără PIN şi aşa merge la mine.&lt;br /&gt;
&lt;br /&gt;
Modemul include şi o interfaţă USB Mass Storage. Practic are ceva memorie flash comportându-se ca un CD-ROM în prima fază. Pe Windows e un lucru foarte bun, modemul având în memoria respectivă driver-e, programul de conectare şi un ''Autorun''. Pe Linux această interfaţă USB Mass Storage complică puţin lucrurile deoarece după ce HALd o detectează, o montează şi se opreşte aici, &amp;quot;uitând&amp;quot; să mai cerceteze dacă nu cumva dispozitivul USB proaspăt ataşat nu e mai mult decât un simplu CD-ROM.&lt;br /&gt;
&lt;br /&gt;
Comenzile de mai jos vor fi introduse ca root. Dacă vreuna din comenzile de mai jos nu vă funcţionează, instalaţi pachetul corespunzător (nu este scopul acestui ghid).&lt;br /&gt;
&lt;br /&gt;
Să trecem la treabă!&lt;br /&gt;
&lt;br /&gt;
* dezactivaţi conexiunile la internet existente (LAN, Wireless):&lt;br /&gt;
** Ubuntu (&amp;amp; family): System Settings &amp;gt; Network Settings: Disable&lt;br /&gt;
** openSUSE: Yast2 &amp;gt; Network devices: Delete&lt;br /&gt;
** Mandriva: Mandriva Control Center &amp;gt; Network &amp;amp; Internet: Delete a network interface&lt;br /&gt;
* conectaţi modemul la calculator şi aşteptaţi câteva secunde&lt;br /&gt;
* dacă folosiţi KDE în câteva secunde veţi fi întrebaţi ce să faceţi cu CD-ROM-ul proaspăt detectat de HALd. Alegeţi &amp;quot;Do nothing&amp;quot;.&lt;br /&gt;
** depinzând de distribuţie, versiunea de HALd/KDE, s-ar putea ca CD-ROM-ul să fie deja montat. Verificaţi cu &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt;&lt;br /&gt;
** în cazul openSUSE va fi necesar un &amp;lt;code&amp;gt;umount /dev/sr1&amp;lt;/code&amp;gt;&lt;br /&gt;
* descărcaţi [http://www.kanoistika.sk/bobovsky/archiv/umts/huaweiAktBbo-i386.out Activator] şi rulaţi-l (are nevoie de drepturi de execuţie)&lt;br /&gt;
* dacă CD-ROM-ul e detectat din nou şi e remontat, Activator-ul nu a funcţionat. Indiferent dacă a funcţionat sau nu, trebuie verificat ce dispozitive au fost create. Dacă '''nu aveţi 2 sau 3 dispozitive listate, nu e bine''': &amp;lt;code&amp;gt;ls -l /dev/ttyU*&amp;lt;/code&amp;gt;&lt;br /&gt;
* dacă '''nu aveţi 2 sau 3 dispozitive listate''' atunci va trebui să faceţi următoarele:&lt;br /&gt;
** scoateţi modulul responsabil pentru detectarea interfeţelor USB Mass Storage (va da eroare dacă CD-ROM-ul modemului e înca montat!): &amp;lt;code&amp;gt;rmmod usb_storage&amp;lt;/code&amp;gt;&lt;br /&gt;
** adăugaţi modulul responsabil pentru detectarea modemurilor USB. Parametrii pot fi diferiţi deci verificaţi cu lsusb. Cazul meu:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
lsusb&lt;br /&gt;
...&lt;br /&gt;
Bus 003 Device 008: ID 12d1:1003&lt;br /&gt;
...&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;modprobe usbserial vendor=0x12d1 product=0x1003&amp;lt;/code&amp;gt;&lt;br /&gt;
* ar trebui să aveţi 2 sau 3 dispozitive ttyU*:&lt;br /&gt;
&amp;lt;code&amp;gt;ls -l /dev/ttyU*&lt;br /&gt;
crw-rw---- 1 root uucp 188, 0 Jan 10 10:07 /dev/ttyUSB0&lt;br /&gt;
crw-rw---- 1 root uucp 188, 1 Jan 10 10:07 /dev/ttyUSB1&lt;br /&gt;
crw-rw---- 1 root uucp 188, 2 Jan 10 10:07 /dev/ttyUSB2&amp;lt;/code&amp;gt;&lt;br /&gt;
* ''/etc/wvdial.conf'' trebuie să conţină următoarele:&lt;br /&gt;
&amp;lt;pre&amp;gt;[Dialer pin]&lt;br /&gt;
Init1 = AT+CPIN=1234&lt;br /&gt;
&lt;br /&gt;
[Dialer hsdpa]&lt;br /&gt;
Phone = *99***16#&lt;br /&gt;
Username = internet.vodafone.ro&lt;br /&gt;
Password = vodafone&lt;br /&gt;
Stupid Mode = 1&lt;br /&gt;
Dial Command = ATDT&lt;br /&gt;
Modem = /dev/ttyUSB0&lt;br /&gt;
Baud = 460800&lt;br /&gt;
Init2 = ATZ&lt;br /&gt;
Init3 = ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
ISDN = 0&lt;br /&gt;
Modem Type = Analog Modem&lt;br /&gt;
Init5 =AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;internet.vodafone.ro&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** evident secţiunea ''pin'' poate lipsi sau, PIN-ul poate fi altul decât 1234&lt;br /&gt;
* comanda de conectare fără PIN (cazul meu şi cazul recomandat):&lt;br /&gt;
&amp;lt;code&amp;gt;wvdial hsdpa&lt;br /&gt;
--&amp;gt; WvDial: Internet dialer version 1.54.0&lt;br /&gt;
--&amp;gt; Cannot get information for serial port.&lt;br /&gt;
--&amp;gt; Initializing modem.&lt;br /&gt;
--&amp;gt; Sending: ATZ&lt;br /&gt;
ATZ&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: ATZ&lt;br /&gt;
ATZ&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;internet.vodafone.ro&amp;quot;;&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Modem initialized.&lt;br /&gt;
--&amp;gt; Sending: ATDT*99***16#&lt;br /&gt;
--&amp;gt; Waiting for carrier.&lt;br /&gt;
CONNECT&lt;br /&gt;
--&amp;gt; Carrier detected.  Starting PPP immediately.&lt;br /&gt;
--&amp;gt; Starting pppd at Wed Jan 10 10:08:24 2007&lt;br /&gt;
--&amp;gt; pid of pppd: 5378&lt;br /&gt;
--&amp;gt; Using interface ppp0&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; local  IP address 172.X.X.X&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; remote IP address 10.64.64.64&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; primary   DNS address 193.230.161.3&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; secondary DNS address 193.230.161.4&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; Script /etc/ppp/ip-up run successful&lt;br /&gt;
--&amp;gt; Default route Ok.&lt;br /&gt;
--&amp;gt; Nameserver (DNS) Ok.&lt;br /&gt;
--&amp;gt; Connected... Press Ctrl-C to disconnect&lt;br /&gt;
--&amp;gt; pppd: Dial Command&amp;lt;/code&amp;gt;&lt;br /&gt;
* comanda de conectare cu PIN:&amp;lt;code&amp;gt;wvdial pin hsdpa&amp;lt;/code&amp;gt;&lt;br /&gt;
** output-ul ar trebui să fie asemănător&lt;br /&gt;
&lt;br /&gt;
Acum ar trebui să fiţi conectaţi! Dacă ceva nu merge, întrebaţi pe forum!&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=3322</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=3322"/>
				<updated>2007-01-10T09:34:51Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &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;
** [[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;
** [[Debricking Linksys WRT54GL cu OpenWrt]] ([[:Category:Troubleshooting|remedieri]])&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|Cum să scăpăm de abţibildul de la Microsoft?]] ([[:Category:FAQ|Întrebări puse frecvent]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Ce este GNU/Linux? / Cum invat Linux?]] ([[:Category:FAQ|Întrebări puse frecvent]])&lt;br /&gt;
** [[Comunica prin lpt|Controlul motoarelor pas cu pas prin portul paralel]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Cum dau net mai departe|Redistribuirea/Partajarea conexiunii la Internet]]  ([[:Category:Networking|retea]]/[[:Category:Routing|rutare]])&lt;br /&gt;
** [[Yum în România|&amp;lt;tt&amp;gt;yum&amp;lt;/tt&amp;gt; în România]] ([[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Postfix tls mysql dovecot|Postfix cu TLS, autentificare din MySQL şi acces prin Dovecot(broken)]] ([[:Category:Networking|reţea]])&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:Tutorial|tutoriale]] actualizate''':&lt;br /&gt;
** [[Setari vim existentiale]] ([[:Category:Tips'n'Tricks|ponturi]])&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;
** [[Schimbarea setarilor GTK 2|Schimbarea setărilor Gtk+ 2]] ([[:Category:GEs|medii grafice]]/[[:Category:Tips'n'Tricks|ponturi]])&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;
** [[Supra%C3%AEnc%C4%83rcarea operatorilor %C3%AEn limbajul C-plus-plus|Supraîncărcarea operatorilor în ANSI C++]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Securitatea sistemului de operare (Slackware)]] ([[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:Collection|colecţii]] actualizate''':&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;
* '''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;
** [[Instalarea distribuţiei Slackware Linux]] ([[User:Gabel|gabel]])&lt;br /&gt;
** [[Configurarea X în Slackware]] ([[User:Gabel|gabel]])&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Internet_mobil_cu_Vodafone_SmartModem&amp;diff=3321</id>
		<title>Internet mobil cu Vodafone SmartModem</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Internet_mobil_cu_Vodafone_SmartModem&amp;diff=3321"/>
				<updated>2007-01-10T09:31:55Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: Conectare la internet prin modem USB Huawei E220 / Vodafone SmartModem&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Va voi prezenta aici cum am reuşit să fac să funcţioneze conexiunea la internet folosind un Vodafone SmartModem.&lt;br /&gt;
[http://www.vodafone.ro/personal/servicii-si-tarife/internet-si-date/acces-mobil-la-internet/vodafone-smartmodem/ Acesta] este modemul. Pe spatele lui ar trebui să scrie Huawei E220.&lt;br /&gt;
&lt;br /&gt;
Pentru conectarea la calculator el vine cu două cabluri USB; '''Il vom folosi pe cel scurt''' deoarece din ce am citit sunt cazuri în care cel lung nu funcţionează.&lt;br /&gt;
&lt;br /&gt;
De asemenea, el are o cartelă Vodafone în el. În timp ce e oprit, scoate-ţi cartela, introduceţi-o într-un telefon şi dezactivaţi-i cererea PIN-ului. Am auzit că e mai simplu fără PIN şi aşa merge la mine.&lt;br /&gt;
&lt;br /&gt;
Modemul include şi o interfaţă USB Mass Storage. Practic are ceva memorie flash comportându-se ca un CD-ROM în prima fază. Pe Windows e un lucru foarte bun, modemul având în memoria respectivă driver-e, programul de conectare şi un ''Autorun''. Pe Linux această interfaţă USB Mass Storage complică puţin lucrurile deoarece după ce HALd o detectează, o montează şi se opreşte aici, &amp;quot;uitând&amp;quot; să mai cerceteze dacă nu cumva dispozitivul USB proaspăt ataşat nu e mai mult decât un simplu CD-ROM.&lt;br /&gt;
&lt;br /&gt;
Dacă vreuna din comenzile de mai jos nu vă funcţionează, instalaţi pachetul corespunzător (nu este scopul acestui ghid).&lt;br /&gt;
&lt;br /&gt;
Să trecem la treabă!&lt;br /&gt;
&lt;br /&gt;
* dezactivaţi conexiunile la internet existente (LAN, Wireless):&lt;br /&gt;
** Ubuntu (&amp;amp; family): System Settings &amp;gt; Network Settings: Disable&lt;br /&gt;
** openSUSE: Yast2 &amp;gt; Network devices: Delete&lt;br /&gt;
** Mandriva: Mandriva Control Center &amp;gt; Network &amp;amp; Internet: Delete a network interface&lt;br /&gt;
* conectaţi modemul la calculator şi aşteptaţi câteva secunde&lt;br /&gt;
* dacă folosiţi KDE în câteva secunde veţi fi întrebaţi ce să faceţi cu CD-ROM-ul proaspăt detectat de HALd. Alegeţi &amp;quot;Do nothing&amp;quot;.&lt;br /&gt;
** depinzând de distribuţie, versiunea de HALd/KDE, s-ar putea ca CD-ROM-ul să fie deja montat. Verificaţi cu&lt;br /&gt;
&amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt;&lt;br /&gt;
** în cazul openSUSE va fi necesar un&lt;br /&gt;
&amp;lt;code&amp;gt;umount /dev/sr1&amp;lt;/code&amp;gt;&lt;br /&gt;
* descărcaţi [http://www.kanoistika.sk/bobovsky/archiv/umts/huaweiAktBbo-i386.out Activator] şi rulaţi-l (are nevoie de drepturi de execuţie)&lt;br /&gt;
* dacă CD-ROM-ul e detectat din nou şi e remontat, Activator-ul nu a funcţionat. Indiferent dacă a funcţionat sau nu, trebuie verificat ce dispozitive au fost create. Dacă '''nu aveţi 2 sau 3 dispozitive listate, nu e bine''':&lt;br /&gt;
&amp;lt;code&amp;gt;ls -l /dev/ttyU*&amp;lt;/code&amp;gt;&lt;br /&gt;
* dacă '''nu aveţi 2 sau 3 dispozitive listate''' atunci va trebui să faceţi următoarele:&lt;br /&gt;
** scoateţi modulul responsabil pentru detectarea interfeţelor USB Mass Storage (va da eroare dacă CD-ROM-ul modemului e înca montat!):&lt;br /&gt;
&amp;lt;code&amp;gt;rmmod usb_storage&amp;lt;/code&amp;gt;&lt;br /&gt;
** adăugaţi modulul responsabil pentru detectarea modemurilor USB. Parametrii pot fi diferiţi deci verificaţi cu lsusb. Cazul meu:&lt;br /&gt;
&amp;lt;code&amp;gt;lsusb&lt;br /&gt;
...&lt;br /&gt;
Bus 003 Device 008: ID 12d1:1003&lt;br /&gt;
...&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;modprobe usbserial vendor=0x12d1 product=0x1003&amp;lt;/code&amp;gt;&lt;br /&gt;
* ar trebui să aveţi 2 sau 3 dispozitive ttyU*:&lt;br /&gt;
&amp;lt;code&amp;gt;ls -l /dev/ttyU*&lt;br /&gt;
crw-rw---- 1 root uucp 188, 0 Jan 10 10:07 /dev/ttyUSB0&lt;br /&gt;
crw-rw---- 1 root uucp 188, 1 Jan 10 10:07 /dev/ttyUSB1&lt;br /&gt;
crw-rw---- 1 root uucp 188, 2 Jan 10 10:07 /dev/ttyUSB2&amp;lt;/code&amp;gt;&lt;br /&gt;
* ''/etc/wvdial.conf'' trebuie să conţină următoarele:&lt;br /&gt;
&amp;lt;pre&amp;gt;[Dialer pin]&lt;br /&gt;
Init1 = AT+CPIN=1234&lt;br /&gt;
&lt;br /&gt;
[Dialer hsdpa]&lt;br /&gt;
Phone = *99***16#&lt;br /&gt;
Username = internet.vodafone.ro&lt;br /&gt;
Password = vodafone&lt;br /&gt;
Stupid Mode = 1&lt;br /&gt;
Dial Command = ATDT&lt;br /&gt;
Modem = /dev/ttyUSB0&lt;br /&gt;
Baud = 460800&lt;br /&gt;
Init2 = ATZ&lt;br /&gt;
Init3 = ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
ISDN = 0&lt;br /&gt;
Modem Type = Analog Modem&lt;br /&gt;
Init5 =AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;internet.vodafone.ro&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** evident secţiunea ''pin'' poate lipsi sau, PIN-ul poate fi altul decât 1234&lt;br /&gt;
* comanda de conectare fără PIN (cazul meu şi cazul recomandat):&lt;br /&gt;
&amp;lt;code&amp;gt;wvdial hsdpa&lt;br /&gt;
--&amp;gt; WvDial: Internet dialer version 1.54.0&lt;br /&gt;
--&amp;gt; Cannot get information for serial port.&lt;br /&gt;
--&amp;gt; Initializing modem.&lt;br /&gt;
--&amp;gt; Sending: ATZ&lt;br /&gt;
ATZ&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: ATZ&lt;br /&gt;
ATZ&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
ATE0V1&amp;amp;D2&amp;amp;C1S0=0+IFC=2,2&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Sending: AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;internet.vodafone.ro&amp;quot;;&lt;br /&gt;
OK&lt;br /&gt;
--&amp;gt; Modem initialized.&lt;br /&gt;
--&amp;gt; Sending: ATDT*99***16#&lt;br /&gt;
--&amp;gt; Waiting for carrier.&lt;br /&gt;
CONNECT&lt;br /&gt;
--&amp;gt; Carrier detected.  Starting PPP immediately.&lt;br /&gt;
--&amp;gt; Starting pppd at Wed Jan 10 10:08:24 2007&lt;br /&gt;
--&amp;gt; pid of pppd: 5378&lt;br /&gt;
--&amp;gt; Using interface ppp0&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; local  IP address 172.X.X.X&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; remote IP address 10.64.64.64&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; primary   DNS address 193.230.161.3&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; secondary DNS address 193.230.161.4&lt;br /&gt;
--&amp;gt; pppd: Dial Command&lt;br /&gt;
--&amp;gt; Script /etc/ppp/ip-up run successful&lt;br /&gt;
--&amp;gt; Default route Ok.&lt;br /&gt;
--&amp;gt; Nameserver (DNS) Ok.&lt;br /&gt;
--&amp;gt; Connected... Press Ctrl-C to disconnect&lt;br /&gt;
--&amp;gt; pppd: Dial Command&amp;lt;/code&amp;gt;&lt;br /&gt;
* comanda de conectare cu PIN:&lt;br /&gt;
&amp;lt;code&amp;gt;wvdial pin hsdpa&amp;lt;/code&amp;gt;&lt;br /&gt;
** output-ul ar trebui să fie asemănător&lt;br /&gt;
&lt;br /&gt;
Acum ar trebui să fiţi conectaţi! Dacă ceva nu merge, întrebaţi pe forum!&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3124</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=3124"/>
				<updated>2006-11-16T20:36:29Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* LILO */&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;&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.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;
'''[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;
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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3123</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=3123"/>
				<updated>2006-11-16T20:34:38Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* LILO */&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;&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.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;
* 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;
'''[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;
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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3122</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=3122"/>
				<updated>2006-11-16T20:32:58Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* LILO */&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;&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.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;
                            # (a se vedea ''fdisk -l'')&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;
&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;
'''[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;
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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3121</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=3121"/>
				<updated>2006-11-16T20:27:19Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Cum configurez un boot-loader? */&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;&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.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;
                  # (a se vedea ''fdisk -l'')&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ă cu opţiunea&lt;br /&gt;
                      # ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;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.mandrivausers.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;
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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3120</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=3120"/>
				<updated>2006-11-16T20:26:12Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* 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;
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;&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.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;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&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;
Î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;
Un lilo.conf arată cam aşa:&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;
                  # (a se vedea ''fdisk -l'')&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ă cu opţiunea&lt;br /&gt;
                      # ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;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.mandrivausers.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;
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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3119</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=3119"/>
				<updated>2006-11-16T20:25:36Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Cum configurez un boot-loader? */&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;&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.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;
[http://lilo.go.dyndns.org/ LInux LOader] este probabil cel mai vechi boot-loader de Unix încă folosit.&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;
Î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;
Un lilo.conf arată cam aşa:&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;
                  # (a se vedea ''fdisk -l'')&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ă cu opţiunea&lt;br /&gt;
                      # ''root'' de mai sus&lt;br /&gt;
# sfârşit&lt;br /&gt;
&amp;lt;/pre&amp;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.mandrivausers.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;
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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=3089</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=3089"/>
				<updated>2006-11-08T12:21:31Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &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;
** [[Detecţie componente hardware din consolă]] ([[:Category:FAQ|Întrebări puse frecvent]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Dezlipire sticker Microsoft Windows|Cum să scăpăm de abţibildul de la Microsoft?]] ([[:Category:FAQ|Întrebări puse frecvent]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Ce este GNU/Linux? / Cum invat Linux?]] ([[:Category:FAQ|Întrebări puse frecvent]])&lt;br /&gt;
** [[Comunica prin lpt|Controlul motoarelor pas cu pas prin portul paralel]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Cum dau net mai departe|Redistribuirea/Partajarea conexiunii la Internet]]  ([[:Category:Networking|retea]]/[[:Category:Routing|rutare]])&lt;br /&gt;
** [[Yum în România|&amp;lt;tt&amp;gt;yum&amp;lt;/tt&amp;gt; în România]] ([[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
** [[Postfix tls mysql dovecot|Postfix cu TLS, autentificare din MySQL şi acces prin Dovecot(broken)]] ([[:Category:Networking|reţea]])&lt;br /&gt;
** [[Download si instalare E17 din CVS|Instalare automatizată E17 CVS]] ([[:Category:GEs|medii grafice]])&lt;br /&gt;
** [[MU Online sub wine|MU Online rulat cu Wine]] ([[:Category:VMs|maşini virtuale]]/[[:Category:Games|jocuri]])&lt;br /&gt;
** [[Quagga on Linux|Quagga]] ([[:Category:Networking|reţea]]/[[:Category:Routing|rutare]])&lt;br /&gt;
** [[Autentificare ssh folosind chei publice/private|Autentificare la SSH cu chei publice]] ([[:Category:Networking|reţea]]/[[:Category:Tips'n'Tricks|ponturi]])&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:Tutorial|tutoriale]] actualizate''':&lt;br /&gt;
** [[Setari vim existentiale]] ([[:Category:Tips'n'Tricks|ponturi]])&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;
** [[Schimbarea setarilor GTK 2|Schimbarea setărilor Gtk+ 2]] ([[:Category:GEs|medii grafice]]/[[:Category:Tips'n'Tricks|ponturi]])&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;
** [[Supra%C3%AEnc%C4%83rcarea operatorilor %C3%AEn limbajul C-plus-plus|Supraîncărcarea operatorilor în ANSI C++]] ([[:Category:Programming|programare]])&lt;br /&gt;
&lt;br /&gt;
* '''Ultimele 10 [[:Category:Collection|colecţii]] actualizate''':&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;
* '''Articole [[:Category:Pending|în curs de scriere]]''':&lt;br /&gt;
** [[Instalare Gentoo - Sfaturi]] ([[User:Ingerul|Ingerul]])&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;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Detec%C3%85%C2%A3ie_componente_hardware_din_consol%C3%84%C6%92&amp;diff=3088</id>
		<title>DetecÅ£ie componente hardware din consolÄƒ</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Detec%C3%85%C2%A3ie_componente_hardware_din_consol%C3%84%C6%92&amp;diff=3088"/>
				<updated>2006-11-08T12:19:09Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;V-aţi pus vreodată problema asta?&lt;br /&gt;
&lt;br /&gt;
Gândiţi-vă că vreţi, de exemplu, să vă luaţi un nou calculator şi să îl testaţi puţin pe Linux şi/sau să vedeţi dacă ce se află în carcasă corespunde cu ce scrie pe factură.&lt;br /&gt;
&lt;br /&gt;
Evident pentru asta veţi avea nevoie de o distribuţie care rulează de pe un Live CD. Acest document vă va ajuta să faceţi toată treaba din consolă pentru ca detecţia să fie independentă de distribuţia aleasă. De asemenea, unele din comenzile de mai jos merg şi pe BSD sau Solaris, deci avem de-a face şi cu o independenţă faţă de sistemul de operare Unix ales.&lt;br /&gt;
&lt;br /&gt;
'''Observaţie:''' Majoritatea comenzilor de mai jos necesită drepturi de root.&lt;br /&gt;
&lt;br /&gt;
=== Procesor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;cat /proc/cpuinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Hard-disk ===&lt;br /&gt;
&lt;br /&gt;
Pentru a afla device-urile:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;fdisk -l&lt;br /&gt;
dmesg | grep -i Xd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detalii şi starea de &amp;quot;sănătate&amp;quot; a hard-ului:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;smartctl -i /dev/XdY&amp;lt;/code&amp;gt;&lt;br /&gt;
...unde ''X'' poate fi ''s'' (SATA/SCSI/USB) sau ''h'' (E-IDE), iar ''Y'' e o literă de la ''a'' până la ''d'' de obicei (a = primary master, iar d = secondary slave).&lt;br /&gt;
=== Dispozitive USB, incluzând mouse-urile ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;lsusb&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Dispozitive PCI, incluzând plăcile de sunet, reţea, video ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;lspci&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Dispozitive optice ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;cdrecord -scanbus&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Floppy ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;dmesg | grep -i fd&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Memorie RAM ===&lt;br /&gt;
&lt;br /&gt;
Cantitate totală, în megaocteţi:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;free -m&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detalii:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;decode-dimms.pl&lt;br /&gt;
dmidecode&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Monitor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;monitor-probe -v nvidia&amp;lt;/code&amp;gt;&lt;br /&gt;
''nvidia'' poate fi înlocuit de driver-ul folosit de voi&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Detec%C3%85%C2%A3ie_componente_hardware_din_consol%C3%84%C6%92&amp;diff=3087</id>
		<title>DetecÅ£ie componente hardware din consolÄƒ</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Detec%C3%85%C2%A3ie_componente_hardware_din_consol%C3%84%C6%92&amp;diff=3087"/>
				<updated>2006-11-08T12:18:27Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;V-aţi pus vreodată problema asta?&lt;br /&gt;
Gândiţi-vă că vreţi, de exemplu, să vă luaţi un nou calculator şi să îl testaţi puţin pe Linux şi/sau să vedeţi dacă ce se află în carcasă corespunde cu ce scrie pe factură.&lt;br /&gt;
Evident pentru asta veţi avea nevoie de o distribuţie care rulează de pe un Live CD. Acest document vă va ajuta să faceţi toată treaba din consolă pentru ca detecţia să fie independentă de distribuţia aleasă. De asemenea, unele din comenzile de mai jos merg şi pe BSD sau Solaris, deci avem de-a face şi cu o independenţă faţă de sistemul de operare Unix ales.&lt;br /&gt;
'''Observaţie:''' Majoritatea comenzilor de mai jos necesită drepturi de root.&lt;br /&gt;
&lt;br /&gt;
=== Procesor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;cat /proc/cpuinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Hard-disk ===&lt;br /&gt;
&lt;br /&gt;
Pentru a afla device-urile:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;fdisk -l&lt;br /&gt;
dmesg | grep -i Xd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detalii şi starea de &amp;quot;sănătate&amp;quot; a hard-ului:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;smartctl -i /dev/XdY&amp;lt;/code&amp;gt;&lt;br /&gt;
...unde ''X'' poate fi ''s'' (SATA/SCSI/USB) sau ''h'' (E-IDE), iar ''Y'' e o literă de la ''a'' până la ''d'' de obicei (a = primary master, iar d = secondary slave).&lt;br /&gt;
=== Dispozitive USB, incluzând mouse-urile ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;lsusb&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Dispozitive PCI, incluzând plăcile de sunet, reţea, video ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;lspci&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Dispozitive optice ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;cdrecord -scanbus&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Floppy ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;dmesg | grep -i fd&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Memorie RAM ===&lt;br /&gt;
&lt;br /&gt;
Cantitate totală, în megaocteţi:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;free -m&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detalii:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;decode-dimms.pl&lt;br /&gt;
dmidecode&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Monitor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;monitor-probe -v nvidia&amp;lt;/code&amp;gt;&lt;br /&gt;
''nvidia'' poate fi înlocuit de driver-ul folosit de voi&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Detec%C3%85%C2%A3ie_componente_hardware_din_consol%C3%84%C6%92&amp;diff=3086</id>
		<title>DetecÅ£ie componente hardware din consolÄƒ</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Detec%C3%85%C2%A3ie_componente_hardware_din_consol%C3%84%C6%92&amp;diff=3086"/>
				<updated>2006-11-08T12:16:51Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;V-aţi pus vreodată problema asta?&lt;br /&gt;
Gândiţi-vă că vreţi, de exemplu, să vă luaţi un nou calculator şi să îl testaţi puţin pe Linux şi/sau să vedeţi dacă ce se află în carcasă corespunde cu ce scrie pe factură.&lt;br /&gt;
Evident pentru asta veţi avea nevoie de o distribuţie care rulează de pe un Live CD. Acest document vă va ajuta să faceţi toată treaba din consolă pentru ca detecţia să fie independentă de distribuţia aleasă. De asemenea, unele din comenzile de mai jos merg şi pe BSD sau Solaris, deci avem de-a face şi cu o independenţă faţă de sistemul de operare Unix ales.&lt;br /&gt;
'''Observaţie:''' Majoritatea comenzilor de mai jos necesită drepturi de root.&lt;br /&gt;
&lt;br /&gt;
=== Procesor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;cat /proc/cpuinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Hard-disk ===&lt;br /&gt;
&lt;br /&gt;
Pentru a afla device-urile:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;fdisk -l&lt;br /&gt;
dmesg | grep -i Xd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detalii şi starea de &amp;quot;sănătate&amp;quot; a hard-ului:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;smartctl -i /dev/XdY&amp;lt;/code&amp;gt;&lt;br /&gt;
...unde ''X'' poate fi ''s'' (SATA/SCSI/USB) sau ''h'' (E-IDE), iar ''Y'' e o literă de la ''a'' până la ''d'' de obicei (a = primary master, iar d = secondary slave).&lt;br /&gt;
=== Dispozitive USB, incluzând mouse-urile ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;lsusb&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Dispozitive PCI, incluzând plăcile de sunet, reţea, video ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;lspci&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Dispozitive optice ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;cdrecord -scanbus&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Floppy ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;dmesg | grep -i fd&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Memorie RAM ===&lt;br /&gt;
&lt;br /&gt;
Cantitate totală, în megaocteţi:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;free -m&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detalii:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;decode-dimms.pl&lt;br /&gt;
dmidecode&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Monitor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;monitor-probe -v nvidia&amp;lt;/code&amp;gt;&lt;br /&gt;
''nvidia'' poate fi înlocuit de driver-ul folosit de voi&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Configurare_Gaim_pentru_a_afisa_in_status_melodia_curenta&amp;diff=3062</id>
		<title>Configurare Gaim pentru a afisa in status melodia curenta</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Configurare_Gaim_pentru_a_afisa_in_status_melodia_curenta&amp;diff=3062"/>
				<updated>2006-10-31T23:34:53Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* amaroK: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configurare Gaim pentru a afisa in status melodia curenta==&lt;br /&gt;
&lt;br /&gt;
Acest tutorial iti explica modul in care se poate configura Gaim astfel incat in statusul de la Yahoo! sa apara melodia curenta din player-ul favorit ! Va functiona cu orice player care poate exporta titlul melodiei curente intr-un fisier text...&lt;br /&gt;
&lt;br /&gt;
===Configurarea player-ului:===&lt;br /&gt;
&lt;br /&gt;
====XMMS:====&lt;br /&gt;
Click dreapta pe ''fereastra principala'' -&amp;gt; ''Options'' -&amp;gt; ''Preferences'' -&amp;gt; ''General Plugins''. Activeaza plugin-ul ''Song Change'' si deschide ''fereastra de configurare''. Aici, in casuta ''Command'' din ''Song Change'' scrie: &lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;%s&amp;quot; &amp;gt; /director/nowPlaying.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
unde ''/director/'' e un director unde ai drepturi de scriere!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un alt plugin care se poate folosi pentru afisarea melodiei redate din XMMS/BMP in GAIM este [http://zulutango.org:82/journal/entry/202 gaim-xmms]. Dupa compilarea/instalarea acestuia, (re)porneste GAIM, activeaza-l din fereastra de optiuni, creeaza un nou mesaj de away care sa contina textul ''%xmms'' si activeaza-l. In functie de timpul de refresh setat in optiunile plugin-ului, status-ul va fi inlocuit periodic cu numele melodiei redate.&lt;br /&gt;
&lt;br /&gt;
====Audacious:====&lt;br /&gt;
Click dreapta pe ''fereastra principala'' -&amp;gt; ''Preferences'' -&amp;gt; ''Plugins'' -&amp;gt; ''General''. Activeaza plugin-ul ''Song Change'' si deschide ''fereastra de configurare'' (''Preferences''). La ''Shell-command to run when Audacious starts a new song'', in ''casuta Command'' scrie:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;%s&amp;quot; &amp;gt; /director/nowPlaying.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
unde ''/director/'' e un director unde ai drepturi de scriere !&lt;br /&gt;
&lt;br /&gt;
====Amarok:====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poţi folosi AmarokGaim[http://www.kde-apps.org/content/show.php?content=48025] sau un plugin care sa exporte titlul melodiei curente intr-un fisier.&lt;br /&gt;
&lt;br /&gt;
=====amarokNowPlaying=====&lt;br /&gt;
&lt;br /&gt;
Un exemplu de plugin care exporta titlul melodiei curente într-un fişier şi face mai multe decât AmarokGaim, e amarokNowPlaying[http://www.kde-apps.org/content/show.php?content=24449]. Numai ca acest plugin/script este mult prea sofisticat pentru ce ai tu nevoie, deci va trebui modificat ! Scriptul poate fi descarcat de la adresa de mai sus. Copiati continutul arhivei proaspat descarcate in ''~/.kde/share/apps/amarok/scripts/''. Noul script ar trebui sa apara in ''Script Manager'' (''amaroK'' -&amp;gt; ''Tools'' -&amp;gt; ''Script Manager''). Apasand butonul ''Configure'', cand ''amarokNowPlaying'' este selectat se va deschide ''amarokNowPlaying.conf''. In principal te intereseaza sectiunea&lt;br /&gt;
&amp;lt;pre&amp;gt;#path where the files will be placed&amp;lt;/pre&amp;gt;&lt;br /&gt;
care ar trebui sa arate asa:&lt;br /&gt;
&amp;lt;pre&amp;gt;path=/director/&amp;lt;/pre&amp;gt;&lt;br /&gt;
unde ''/director/'' e un director unde ai drepturi de scriere !&lt;br /&gt;
Inchide si salveaza ''amarokNowPlaying.conf'' ! Executa ''click dreapta pe amarokNowPlaying'' din ''Script Manager'' si alege ''Edit''. Comenteaza liniile:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;isPlaying: &amp;quot;$isPlaying &amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;status: &amp;quot;$status &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;repeatTrack: &amp;quot;$repeatTrack &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;repeatPlaylist: &amp;quot;$repeatPlaylist &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;randomMode: &amp;quot;$randomMode &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;artist: &amp;quot;$artist &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;title: &amp;quot;$title &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;track: &amp;quot;$track &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;album: &amp;quot;$album &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;length: &amp;quot;$length &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;genre: &amp;quot;$genre &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;year: &amp;quot;$year &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;comment: &amp;quot;$comment &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;bitrate: &amp;quot;$bitrate &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;samplerate: &amp;quot;$samplerate &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;cover: &amp;quot;$cover &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo &amp;quot;score: &amp;quot;$score &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
si adauga linia:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo $artist &amp;quot; - &amp;quot; $title &amp;gt; nowPlaying.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In final, sectiunea asta ar trebui sa arate asa:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &amp;quot;isPlaying: &amp;quot;$isPlaying &amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;status: &amp;quot;$status &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;repeatTrack: &amp;quot;$repeatTrack &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;repeatPlaylist: &amp;quot;$repeatPlaylist &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;randomMode: &amp;quot;$randomMode &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;artist: &amp;quot;$artist &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;title: &amp;quot;$title &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;track: &amp;quot;$track &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;album: &amp;quot;$album &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;length: &amp;quot;$length &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;genre: &amp;quot;$genre &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;year: &amp;quot;$year &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;comment: &amp;quot;$comment &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;bitrate: &amp;quot;$bitrate &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;samplerate: &amp;quot;$samplerate &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;cover: &amp;quot;$cover &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
# echo &amp;quot;score: &amp;quot;$score &amp;gt;&amp;gt; nowPlaying.txt&lt;br /&gt;
echo $artist &amp;quot; - &amp;quot; $title &amp;gt; nowPlaying.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Output-ul generat de acest script va fi acum identic cu cel generat de comanda introdusa in plugin-ul ''SongChange'' din ''XMMS''/''Audacious'' (vezi mai sus).&lt;br /&gt;
&lt;br /&gt;
Indiferent ce player si ce plugin/script alegi, setarile care se pot face pot fi mult mai complexe decat cele prezentate mai sus ! Se poate exporta in fisier si statusul curent al player-ului in cauza (playing, stopped, paused...), de exemplu.&lt;br /&gt;
&lt;br /&gt;
===Instalare gaim-autoprofile:===&lt;br /&gt;
&lt;br /&gt;
Descarca sursa de la Gaim[http://sourceforge.net/project/showfiles.php?group_id=235].&lt;br /&gt;
Dezarhiveaza sursa:&lt;br /&gt;
* pentru arhiva ''tar.bz2'':&lt;br /&gt;
&amp;lt;pre&amp;gt;tar -jxvf gaim-*&amp;lt;/pre&amp;gt;&lt;br /&gt;
* pentru arhiva ''tar.gz'':&lt;br /&gt;
&amp;lt;pre&amp;gt;tar -zxvf gaim-*&amp;lt;/pre&amp;gt;&lt;br /&gt;
Descarca sursa de la gaim-autoprofile[http://hkn.eecs.berkeley.edu/~casey/autoprofile/download.php] in directorul ''gaim-*/plugins''. &lt;br /&gt;
Dezarhiveaza sursa:&lt;br /&gt;
&amp;lt;pre&amp;gt;tar -zxvf autoprofile-*&amp;lt;/pre&amp;gt;&lt;br /&gt;
Din directorul radacina al sursei Gaim, executa&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure&amp;lt;/pre&amp;gt;&lt;br /&gt;
Apoi intra in directorul ''plugins/autoprofile-*'':&lt;br /&gt;
&amp;lt;pre&amp;gt;cd plugins/autoprofile-*&amp;lt;/pre&amp;gt;&lt;br /&gt;
Si executa&lt;br /&gt;
&amp;lt;pre&amp;gt;make&amp;lt;/pre&amp;gt;&lt;br /&gt;
In caz de apare vreo eroare legata de ''PKG_CONFIG_PATH'', comanda&lt;br /&gt;
&amp;lt;pre&amp;gt;export PKG_CONFIG_PATH=/cale/spre/sursa_gaim/gaim-*/&amp;lt;/pre&amp;gt;&lt;br /&gt;
ar trebui sa rezolve problema...&lt;br /&gt;
&amp;lt;br&amp;gt;In caz de apare eroarea&lt;br /&gt;
''src/comp_http.c: In function http_refresh_update: src/comp_http.c:46: error: syntax error before else''&lt;br /&gt;
deschide ''comp_http.c'' cu un editor text si sterge '';'' din fata ''else''-ului cu pricina.&lt;br /&gt;
&amp;lt;br&amp;gt;In caz de apare eroarea ''src/comp_rss_xanga.c:30:22: error: comp_rss.h: No such file or directory'' deschide ''comp_rss_xanga.c'' cu un editor text si modifica ''#include &amp;lt;comp_rss.h&amp;gt;'' in ''#include &amp;quot;comp_rss.h&amp;quot;''.&lt;br /&gt;
In directorul curent ai deja ''autoprofile.so'' - libraria necesara pentru a activa plugin-ul.&lt;br /&gt;
Daca nu ai Gaim instalat si vrei sa il instalezi din sursele acestea, revino in directorul radacina al sursei Gaim&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
si executa:&lt;br /&gt;
&amp;lt;pre&amp;gt;make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
In cazul in care ai deja Gaim instalat si vrei doar sa mai adaugi plugin-ul acesta, executa comanda:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp autoprofile.so /usr/lib/gaim&amp;lt;/pre&amp;gt;&lt;br /&gt;
presupunand ca gaim isi cauta plugin-urile in ''/usr/lib/gaim/''...&lt;br /&gt;
&lt;br /&gt;
===Configurare gaim-autoprofile:===&lt;br /&gt;
&lt;br /&gt;
Deschide ''Gaim'' -&amp;gt; ''Tools'' -&amp;gt; ''Plugins''. Acolo ar trebui sa gasesti ''AutoProfile''. Daca nu se afla acolo inseamna fie ca e o problema cu permisiunile fisierului ''autoprofile.so'', fie ca ''autoprofile.so'' nu se afla in directorul corect !&lt;br /&gt;
Activeaza plugin-ul si sa trecem la configurare !&lt;br /&gt;
La ''Output text'' da ''Remove'' la orice text care este deja acolo. Apoi da ''Add'' pentru a crea unul nou ! Alege un titlu gen ''now listening'', de exemplu. La text scrie ''Ascult %x''. Salveaza si inchide editorul ! Asigura-te ca noul mesaj de away, cu titlul ''now listening'' este setat ca ''Default away message'' si ca ''Profile''.&lt;br /&gt;
La ''Component settings'', la ''Text File / Songs'', in casuta ''Select text file with source content'' scrie ''/director/nowPlaying.txt''.&lt;br /&gt;
La ''Behavior'' pune ''1'' in ambele casute.&lt;br /&gt;
La ''Accounts'', selecteaza-ti contul pe care vrei sa functioneze plugin-ul si fii sigur ca are ''yes'' trecut in ambele coloane!&lt;br /&gt;
&lt;br /&gt;
===Emulare LAUNCHcast===&lt;br /&gt;
&lt;br /&gt;
Clientul de Windows al Yahoo! Messenger include si un player audio de streaming numit ''LAUCHcast''. Cand asculti o melodie cu ajutorul acestuia, status-ul iti este insotit de o iconita reprezantand o pereche de casti.&lt;br /&gt;
Acelasi tip de status poate fi obtinut si in GAIM prin adaugarea string-ului 'À€187À€2' (fara ghilimele) la sfarsitul textului din status, indiferent de plugin-ul folosit pentru generarea acestuia in mod automat.&lt;br /&gt;
&lt;br /&gt;
===Gata !===&lt;br /&gt;
&lt;br /&gt;
Deschide o fereastra de chat si scrie in ea ''/away''. Pentru a reveni, scrie ''/back'' !&lt;br /&gt;
Sweeeeet, huh !?&lt;br /&gt;
&lt;br /&gt;
===Note de final:===&lt;br /&gt;
&lt;br /&gt;
Testat pe Gaim 1.5, 2.0b1, 2.0b2, 2.0b3 si gaim-autoprofile 2.12&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
[[Category:Multimedia]]&lt;br /&gt;
[[Category:Office]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=3059</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=3059"/>
				<updated>2006-10-14T18:52:10Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Care este cea mai buna distributie? */&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;&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.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:&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.mandrivausers.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;
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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2801</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=2801"/>
				<updated>2006-09-13T01:52:17Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Manageri desktop */&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; 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.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; 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.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:&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.mandrivausers.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;
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 cu Windows-ul care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt [http://wiki.linux360.ro/wiki/Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F#KDE KDE] si [http://wiki.linux360.ro/wiki/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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2800</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=2800"/>
				<updated>2006-09-13T01:29:18Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Manageri desktop */&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; 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.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; 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.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:&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.mandrivausers.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;
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 cu Windows-ul care are un singur manager desktop, cel implicit, in lumea Unix puteti alege din foarte multe managere desktop, dintre care cele mai importante sunt KDE si 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;
&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 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;
====== 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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2799</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=2799"/>
				<updated>2006-09-13T01:05:33Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Gnome */&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; 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.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; 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.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:&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.mandrivausers.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;
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;
&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 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, 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;
&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].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la 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;
====== 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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2798</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=2798"/>
				<updated>2006-09-13T00:29:22Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* KDE */&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; 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.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; 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.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:&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.mandrivausers.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;
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;
&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 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, 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;
&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/ '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment] 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].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la KDE, in conditiile in care Qt-ul nu era inca liber.&lt;br /&gt;
&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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2797</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=2797"/>
				<updated>2006-09-13T00:24:33Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* KDE */&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; 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.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; 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.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:&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.mandrivausers.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;
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;
&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 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, 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;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment] 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].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la KDE, in conditiile in care Qt-ul nu era inca liber.&lt;br /&gt;
&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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2796</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=2796"/>
				<updated>2006-09-13T00:23:56Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* KDE */&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; 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.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; 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.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:&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.mandrivausers.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;
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;
&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 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, 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;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment] 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].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la KDE, in conditiile in care Qt-ul nu era inca liber.&lt;br /&gt;
&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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2795</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=2795"/>
				<updated>2006-09-12T02:45:41Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Manageri desktop */&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; 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.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; 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.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:&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.mandrivausers.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;
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;
&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 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;
&lt;br /&gt;
====== Gnome ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.gnome.org/ '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment] 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].&lt;br /&gt;
&lt;br /&gt;
Proiectul a fost conceput ca o alternativa la KDE, in conditiile in care Qt-ul nu era inca liber.&lt;br /&gt;
&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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2794</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=2794"/>
				<updated>2006-09-12T01:28:51Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Care este cea mai buna distributie? */&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; 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.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; 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.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:&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.mandrivausers.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;
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;
'''[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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2791</id>
		<title>Scripturi BASH</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2791"/>
				<updated>2006-09-05T16:47:08Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Calcularea recordului de uptime */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Exemple scripturi BASH ==&lt;br /&gt;
&lt;br /&gt;
=== Scripturi care permit schimbarea rapida a MAC+IP ===&lt;br /&gt;
&lt;br /&gt;
[[User:Raptor360|Raptor360]] 12:33, 8 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
====getmac====&lt;br /&gt;
&lt;br /&gt;
Primeste ca parametru un IP si returneaza MAC-ul acestuia sau &amp;quot;&amp;quot; daca nu exista in retea nodul cu pricina.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/getmac''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
mac=`arping -I $IFDEVICE $1 -c 3 | grep reply | cut -f2 -d\[ | cut -f1 -d\] | uniq`&lt;br /&gt;
echo $mac&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====be====&lt;br /&gt;
Primeste ca parametru un IP si schimba MAC-ul si IP-ul pentru un device.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/be''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
gip=`echo -e &amp;quot;$1\t&amp;quot;`&lt;br /&gt;
echo -e &amp;quot; IP is $1.&amp;quot;&lt;br /&gt;
mac=`cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2`&lt;br /&gt;
echo -e &amp;quot;MAC is $mac.&amp;quot;&lt;br /&gt;
if [[ $mac != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
        ifconfig $IFDEVICE down&lt;br /&gt;
        ifconfig $IFDEVICE hw ether $mac&lt;br /&gt;
        ifconfig $IFDEVICE $1 netmask 255.255.248.0 broadcast 10.10.17.255&lt;br /&gt;
        route add default gw 10.10.17.1&lt;br /&gt;
        # echo &amp;quot;nameserver 10.10.17.1&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;$1 has not an associated MAC.&amp;quot;&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====switchuser==== &lt;br /&gt;
&lt;br /&gt;
Schimba MAC-ul si IP-ul aleator conform unuia stocat in /etc/stored folosind scripturile anterioare.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/switchuser''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
notfound=1&lt;br /&gt;
while [[ $notfound -eq 1 ]]; do&lt;br /&gt;
        rip=`echo &amp;quot;$RANDOM % 252 + 3&amp;quot; | bc`&lt;br /&gt;
        for i in `seq $rip 254`; do&lt;br /&gt;
                randip=&amp;quot;10.10.17.$i&amp;quot;&lt;br /&gt;
                gip=`echo -e &amp;quot;$randip\t&amp;quot;`&lt;br /&gt;
                if [[ `cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2` != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                        if [[ `getmac $randip` == &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                                be $randip&lt;br /&gt;
                                exit 0&lt;br /&gt;
                                notfound=1&lt;br /&gt;
                        else&lt;br /&gt;
                                echo &amp;quot;IP $randip is already active.&amp;quot;&lt;br /&gt;
                        fi&lt;br /&gt;
                else&lt;br /&gt;
                        echo &amp;quot;$randip has no MAC associated.&amp;quot;&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
done&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scripturile folosesc fisierul de configurare ''/etc/stored'' in care se adauga perechi de forma: IP\tMAC, e.g. &amp;lt;code&amp;gt;10.10.17.241    00:20:ED:95:2A:A1&lt;br /&gt;
10.10.17.242    4C:00:10:53:BF:A5&amp;lt;/code&amp;gt; precum si variabila din enviroment IFDEVICE daca este definita. e.g. daca vrem sa schimbam ip-ul doar pentru device-ul eth1 atunci apelam la:&lt;br /&gt;
&amp;lt;code&amp;gt;# IFDEVICE=eth1 switchuser &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script care lanseaza in fundal o anumita comanda data ca parametru de intrare ===&lt;br /&gt;
Puteti lasa o comanda sa se execute in fundal fara ca ea sa fie intrerupta la&lt;br /&gt;
iesirea dumneavoastra din sistem folosind urmatorul script pe care l-am numit&lt;br /&gt;
silent. (output-ul nu este salvat, pentru aceasta puteti folosi nohup)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Executing \&amp;quot;$*\&amp;quot;&amp;quot;&lt;br /&gt;
setsid bash -c $* 2&amp;gt;&amp;gt;/dev/null 1&amp;gt;&amp;gt;/dev/null &amp;lt; /dev/null &amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scriptul il puteti folosi de exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ silent wget -c -t 0 www.bigfiles.com/ubuntu.iso&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script ce elimina zona asociata unui domeniu dat ca parametru de intrare ===&lt;br /&gt;
&lt;br /&gt;
Puteţi elimina porţiunea din named.conf de la&lt;br /&gt;
&amp;lt;tt&amp;gt;zone &amp;quot;nume.domeniu.dat.ca.parametru.de.intrare&amp;quot; {&amp;lt;/tt&amp;gt;&lt;br /&gt;
până la acolada închisă asociată acoladei deschise de mai sus.&lt;br /&gt;
&lt;br /&gt;
Scriptul este:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Bind zone remove script&lt;br /&gt;
#&lt;br /&gt;
# Copyright (C) 2005 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
if [ ! $# = 1 ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 domain&amp;quot;;&lt;br /&gt;
    echo &amp;quot;The path to named.conf is defined inside the script&amp;quot;;&lt;br /&gt;
    		 else&lt;br /&gt;
	pathToNamedDotConf=/etc/named.conf&lt;br /&gt;
	&lt;br /&gt;
	x=$(grep -n &amp;quot;zone \&amp;quot;$1\&amp;quot; {&amp;quot; $pathToNamedDotConf | cut -f1 -d:)&lt;br /&gt;
	sed $x,/\}\;/d $pathToNamedDotConf &amp;gt; temp&lt;br /&gt;
	c=$(sed -n $x'p' &amp;lt; temp)&lt;br /&gt;
	if [ &amp;quot;x`echo $c | grep &amp;quot;zone&amp;quot;`&amp;quot; = &amp;quot;x&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		sed $x' d' temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	else&lt;br /&gt;
		cat temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f temp&lt;br /&gt;
	exit&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cautarea unui fisier ce contine un anumit string ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;find /path -name &amp;quot;*&amp;quot; -exec grep -H &amp;quot;&amp;lt;string&amp;gt;&amp;quot;  '{}' \;&amp;lt;/code&amp;gt;&lt;br /&gt;
sau&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;grep -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fireste, &amp;lt;tt&amp;gt;&amp;amp;lt;string&amp;amp;gt;&amp;lt;/tt&amp;gt; poate fi atat un sir de caractere cat si orice fel de expresie regulata suportata de versiunea particulara de &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; disponibila pe masina in cauza.&amp;lt;br /&amp;gt;&lt;br /&gt;
Deasemenea, pentru a cauta fara a face diferenta intre majuscule si minuscule, adaugati parametrul &amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt; la &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Daca doriti ca in output-ul comenzii &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; expresia cautata sa fie cautata sa fie evidentiata puteti folosi parametrul &amp;lt;tt&amp;gt;--color&amp;lt;/tt&amp;gt; astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;grep --color -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stergerea fisierelor backup ===&lt;br /&gt;
&lt;br /&gt;
Asa cum stiti, prin traditie in *NIX, editoarele text fac o copie de siguranta fisierelor editate, copie de siguranta ce este denumita identic cu fisierul initial plus caracterul tilda ('''~'''). Ei bine... in cazul aplicatiilor web, acest backup mai mult dauneaza decat sa ajute.&lt;br /&gt;
Nu ar fi prea placut sa aveti un &amp;lt;tt&amp;gt;index.php~&amp;lt;/tt&amp;gt;  in &amp;lt;tt&amp;gt;DocumentRoot&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;find /path -name &amp;quot;*~&amp;quot; | xargs -n 20 rm -f&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme cu spatiul pe disc? ===&lt;br /&gt;
&lt;br /&gt;
Nu stiti unde &amp;quot;vi s-a dus&amp;quot; spatiul de pe disc si e cam greu sa verificati fiecare director in parte?&amp;lt;br /&amp;gt;&lt;br /&gt;
Linia urmatoare va ajuta, facand totodata si o sortare.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;du --max-depth=1 /path | sort -rn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gasirea fisierelor duplicate intr-un director ===&lt;br /&gt;
Aveti prea multe mp3-uri si majoritatea sunt duplicate dar cu alt nume sau orice de genul folositi scriptul de mai jos:D Eventual adaugati si un -maxdepth 1 sa nu fie recursiv.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if [ ! -d &amp;quot;$1&amp;quot; ]; then &lt;br /&gt;
  echo &amp;quot;Usage $0 &amp;lt;dir&amp;gt;&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
find &amp;quot;$1&amp;quot; -type f -print0 |   xargs -0 -n1 md5sum |     sort --key=1,32 | uniq -w 32 -d --all-repeated=prepend \&lt;br /&gt;
                                     |cut -f3- -d' '|sed 's/^$/Fisiere identice:/'&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calcularea recordului de uptime ===&lt;br /&gt;
&lt;br /&gt;
Scriptul urmator va trebui plasat in crontab astfel incat sa ruleze periodic, de exemplu, din ora in ora. El va afisa in fisierul ''$output'' (initial ''/var/log/uptimeRecord.log'') output-ul comenzilor ''uptime'' si ''date'' (adica uptime-ul record si data la care a fost inregistrat).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Copyright (C) 2006 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
output='/var/log/uptimeRecord.log'&lt;br /&gt;
&lt;br /&gt;
function compareHrs&lt;br /&gt;
{&lt;br /&gt;
        uptimeCurent=`uptime`&lt;br /&gt;
        if [ `echo $uptimeCurent | grep -c day` == '0' ]; then&lt;br /&gt;
#               echo Uptime mai mic de o zi&lt;br /&gt;
                uptimeCurentOre=`uptime | awk '{print $3}'`&lt;br /&gt;
                uptimeRecordOre=`cat $output | head -1 | awk '{print $3}'`&lt;br /&gt;
        else&lt;br /&gt;
                uptimeCurentOre=`uptime | awk '{print $5}'`&lt;br /&gt;
                uptimeRecordOre=`cat $output | head -1 | awk '{print $5}'`&lt;br /&gt;
        fi&lt;br /&gt;
        if [ `expr length $uptimeCurentOre` \&amp;gt; `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
#               echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 1&lt;br /&gt;
                uptime &amp;gt; $output&lt;br /&gt;
                date &amp;gt;&amp;gt; $output&lt;br /&gt;
        else&lt;br /&gt;
                if [ `expr length $uptimeCurentOre` == `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
                        uptimeCurentOra=`echo $uptimeCurentOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        uptimeRecordOra=`echo $uptimeRecordOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        if [ $uptimeCurentOra -gt $uptimeRecordOra ]; then&lt;br /&gt;
#                               echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 2&lt;br /&gt;
                                uptime &amp;gt; $output&lt;br /&gt;
                                date &amp;gt;&amp;gt; $output&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -a $output ]; then&lt;br /&gt;
        uptimeCurent=`uptime`&lt;br /&gt;
        uptimeRecord=`cat $output | head -1`&lt;br /&gt;
        if [ `echo $uptimeCurent | grep -c day` == '0' ]; then&lt;br /&gt;
#               echo Uptime mai mic de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi, comparam orele&lt;br /&gt;
                        compareHrs&lt;br /&gt;
#               else&lt;br /&gt;
#                       echo Uptime record mai mare ca uptime curent&lt;br /&gt;
                fi&lt;br /&gt;
        else&lt;br /&gt;
#               echo Uptime mai mare de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi&lt;br /&gt;
                        uptime &amp;gt; $output&lt;br /&gt;
                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                else&lt;br /&gt;
                        uptimeCurentZile=`uptime | awk '{print $3}'`&lt;br /&gt;
                        uptimeRecordZile=`cat $output | head -1 | awk '{print $3}'`&lt;br /&gt;
                        if [ $uptimeCurentZile -eq $uptimeRecordZile ]; then&lt;br /&gt;
#                               echo Uptime in zile egal&lt;br /&gt;
                                compareHrs&lt;br /&gt;
                        else&lt;br /&gt;
                                if [ $uptimeCurentZile -gt $uptimeRecordZile ]; then&lt;br /&gt;
#                                       echo Record nou&lt;br /&gt;
                                        uptime &amp;gt; $output&lt;br /&gt;
                                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                                fi&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
else&lt;br /&gt;
#       echo Fisierul nu exista, deci trebuie creat. Recordul e uptime-ul curent&lt;br /&gt;
        uptime &amp;gt; $output&lt;br /&gt;
        date &amp;gt;&amp;gt; $output&lt;br /&gt;
fi&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;
[[Category:Collection]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2787</id>
		<title>Scripturi BASH</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2787"/>
				<updated>2006-09-05T10:55:37Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Calcularea recordului de uptime */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Exemple scripturi BASH ==&lt;br /&gt;
&lt;br /&gt;
=== Scripturi care permit schimbarea rapida a MAC+IP ===&lt;br /&gt;
&lt;br /&gt;
[[User:Raptor360|Raptor360]] 12:33, 8 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
====getmac====&lt;br /&gt;
&lt;br /&gt;
Primeste ca parametru un IP si returneaza MAC-ul acestuia sau &amp;quot;&amp;quot; daca nu exista in retea nodul cu pricina.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/getmac''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
mac=`arping -I $IFDEVICE $1 -c 3 | grep reply | cut -f2 -d\[ | cut -f1 -d\] | uniq`&lt;br /&gt;
echo $mac&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====be====&lt;br /&gt;
Primeste ca parametru un IP si schimba MAC-ul si IP-ul pentru un device.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/be''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
gip=`echo -e &amp;quot;$1\t&amp;quot;`&lt;br /&gt;
echo -e &amp;quot; IP is $1.&amp;quot;&lt;br /&gt;
mac=`cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2`&lt;br /&gt;
echo -e &amp;quot;MAC is $mac.&amp;quot;&lt;br /&gt;
if [[ $mac != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
        ifconfig $IFDEVICE down&lt;br /&gt;
        ifconfig $IFDEVICE hw ether $mac&lt;br /&gt;
        ifconfig $IFDEVICE $1 netmask 255.255.248.0 broadcast 10.10.17.255&lt;br /&gt;
        route add default gw 10.10.17.1&lt;br /&gt;
        # echo &amp;quot;nameserver 10.10.17.1&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;$1 has not an associated MAC.&amp;quot;&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====switchuser==== &lt;br /&gt;
&lt;br /&gt;
Schimba MAC-ul si IP-ul aleator conform unuia stocat in /etc/stored folosind scripturile anterioare.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/switchuser''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
notfound=1&lt;br /&gt;
while [[ $notfound -eq 1 ]]; do&lt;br /&gt;
        rip=`echo &amp;quot;$RANDOM % 252 + 3&amp;quot; | bc`&lt;br /&gt;
        for i in `seq $rip 254`; do&lt;br /&gt;
                randip=&amp;quot;10.10.17.$i&amp;quot;&lt;br /&gt;
                gip=`echo -e &amp;quot;$randip\t&amp;quot;`&lt;br /&gt;
                if [[ `cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2` != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                        if [[ `getmac $randip` == &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                                be $randip&lt;br /&gt;
                                exit 0&lt;br /&gt;
                                notfound=1&lt;br /&gt;
                        else&lt;br /&gt;
                                echo &amp;quot;IP $randip is already active.&amp;quot;&lt;br /&gt;
                        fi&lt;br /&gt;
                else&lt;br /&gt;
                        echo &amp;quot;$randip has no MAC associated.&amp;quot;&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
done&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scripturile folosesc fisierul de configurare ''/etc/stored'' in care se adauga perechi de forma: IP\tMAC, e.g. &amp;lt;code&amp;gt;10.10.17.241    00:20:ED:95:2A:A1&lt;br /&gt;
10.10.17.242    4C:00:10:53:BF:A5&amp;lt;/code&amp;gt; precum si variabila din enviroment IFDEVICE daca este definita. e.g. daca vrem sa schimbam ip-ul doar pentru device-ul eth1 atunci apelam la:&lt;br /&gt;
&amp;lt;code&amp;gt;# IFDEVICE=eth1 switchuser &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script care lanseaza in fundal o anumita comanda data ca parametru de intrare ===&lt;br /&gt;
Puteti lasa o comanda sa se execute in fundal fara ca ea sa fie intrerupta la&lt;br /&gt;
iesirea dumneavoastra din sistem folosind urmatorul script pe care l-am numit&lt;br /&gt;
silent. (output-ul nu este salvat, pentru aceasta puteti folosi nohup)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Executing \&amp;quot;$*\&amp;quot;&amp;quot;&lt;br /&gt;
setsid bash -c $* 2&amp;gt;&amp;gt;/dev/null 1&amp;gt;&amp;gt;/dev/null &amp;lt; /dev/null &amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scriptul il puteti folosi de exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ silent wget -c -t 0 www.bigfiles.com/ubuntu.iso&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script ce elimina zona asociata unui domeniu dat ca parametru de intrare ===&lt;br /&gt;
&lt;br /&gt;
Puteţi elimina porţiunea din named.conf de la&lt;br /&gt;
&amp;lt;tt&amp;gt;zone &amp;quot;nume.domeniu.dat.ca.parametru.de.intrare&amp;quot; {&amp;lt;/tt&amp;gt;&lt;br /&gt;
până la acolada închisă asociată acoladei deschise de mai sus.&lt;br /&gt;
&lt;br /&gt;
Scriptul este:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Bind zone remove script&lt;br /&gt;
#&lt;br /&gt;
# Copyright (C) 2005 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
if [ ! $# = 1 ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 domain&amp;quot;;&lt;br /&gt;
    echo &amp;quot;The path to named.conf is defined inside the script&amp;quot;;&lt;br /&gt;
    		 else&lt;br /&gt;
	pathToNamedDotConf=/etc/named.conf&lt;br /&gt;
	&lt;br /&gt;
	x=$(grep -n &amp;quot;zone \&amp;quot;$1\&amp;quot; {&amp;quot; $pathToNamedDotConf | cut -f1 -d:)&lt;br /&gt;
	sed $x,/\}\;/d $pathToNamedDotConf &amp;gt; temp&lt;br /&gt;
	c=$(sed -n $x'p' &amp;lt; temp)&lt;br /&gt;
	if [ &amp;quot;x`echo $c | grep &amp;quot;zone&amp;quot;`&amp;quot; = &amp;quot;x&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		sed $x' d' temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	else&lt;br /&gt;
		cat temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f temp&lt;br /&gt;
	exit&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cautarea unui fisier ce contine un anumit string ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;find /path -name &amp;quot;*&amp;quot; -exec grep -H &amp;quot;&amp;lt;string&amp;gt;&amp;quot;  '{}' \;&amp;lt;/code&amp;gt;&lt;br /&gt;
sau&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;grep -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fireste, &amp;lt;tt&amp;gt;&amp;amp;lt;string&amp;amp;gt;&amp;lt;/tt&amp;gt; poate fi atat un sir de caractere cat si orice fel de expresie regulata suportata de versiunea particulara de &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; disponibila pe masina in cauza.&amp;lt;br /&amp;gt;&lt;br /&gt;
Deasemenea, pentru a cauta fara a face diferenta intre majuscule si minuscule, adaugati parametrul &amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt; la &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Daca doriti ca in output-ul comenzii &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; expresia cautata sa fie cautata sa fie evidentiata puteti folosi parametrul &amp;lt;tt&amp;gt;--color&amp;lt;/tt&amp;gt; astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;grep --color -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stergerea fisierelor backup ===&lt;br /&gt;
&lt;br /&gt;
Asa cum stiti, prin traditie in *NIX, editoarele text fac o copie de siguranta fisierelor editate, copie de siguranta ce este denumita identic cu fisierul initial plus caracterul tilda ('''~'''). Ei bine... in cazul aplicatiilor web, acest backup mai mult dauneaza decat sa ajute.&lt;br /&gt;
Nu ar fi prea placut sa aveti un &amp;lt;tt&amp;gt;index.php~&amp;lt;/tt&amp;gt;  in &amp;lt;tt&amp;gt;DocumentRoot&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;find /path -name &amp;quot;*~&amp;quot; -exec rm -f '{}' \;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme cu spatiul pe disc? ===&lt;br /&gt;
&lt;br /&gt;
Nu stiti unde &amp;quot;vi s-a dus&amp;quot; spatiul de pe disc si e cam greu sa verificati fiecare director in parte?&amp;lt;br /&amp;gt;&lt;br /&gt;
Linia urmatoare va ajuta, facand totodata si o sortare.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;du --max-depth=1 /path | sort -rn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gasirea fisierelor duplicate intr-un director ===&lt;br /&gt;
Aveti prea multe mp3-uri si majoritatea sunt duplicate dar cu alt nume sau orice de genul folositi scriptul de mai jos:D Eventual adaugati si un -maxdepth 1 sa nu fie recursiv.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if [ ! -d &amp;quot;$1&amp;quot; ]; then &lt;br /&gt;
  echo &amp;quot;Usage $0 &amp;lt;dir&amp;gt;&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
find &amp;quot;$1&amp;quot; -type f -print0 |   xargs -0 -n1 md5sum |     sort --key=1,32 | uniq -w 32 -d --all-repeated=prepend \&lt;br /&gt;
                                     |cut -f3- -d' '|sed 's/^$/Fisiere identice:/'&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calcularea recordului de uptime ===&lt;br /&gt;
&lt;br /&gt;
Scriptul urmator va trebui plasat in crontab astfel incat sa ruleze periodic, de exemplu, din ora in ora. El va afisa in fisierul ''$output'' (initial ''/var/log/uptimeRecord.log'') output-ul comenzilor ''uptime'' si ''date'' (adica uptime-ul record si data la care a fost inregistrat).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Copyright (C) 2006 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
output='/var/log/uptimeRecord.log'&lt;br /&gt;
&lt;br /&gt;
function compareHrs&lt;br /&gt;
{&lt;br /&gt;
        uptimeCurentOre=`uptime | awk '{print $5}'`&lt;br /&gt;
        uptimeRecordOre=`cat $output | head -1 | awk '{print $5}'`&lt;br /&gt;
        if [ `expr length $uptimeCurentOre` \&amp;gt; `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
#               echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 1&lt;br /&gt;
                uptime &amp;gt; $output&lt;br /&gt;
                date &amp;gt;&amp;gt; $output&lt;br /&gt;
        else&lt;br /&gt;
                if [ `expr length $uptimeCurentOre` == `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
                        uptimeCurentOra=`echo $uptimeCurentOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        uptimeRecordOra=`echo $uptimeRecordOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        if [ $uptimeCurentOra -gt $uptimeRecordOra ]; then&lt;br /&gt;
#                               echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 2&lt;br /&gt;
                                uptime &amp;gt; $output&lt;br /&gt;
                                date &amp;gt;&amp;gt; $output&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -a $output ]; then&lt;br /&gt;
        uptimeCurent=`uptime`&lt;br /&gt;
        uptimeRecord=`cat $output | head -1`&lt;br /&gt;
        if [ `echo $uptimeCurent | grep -c day` == '0' ]; then&lt;br /&gt;
#               echo Uptime mai mic de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi, comparam orele&lt;br /&gt;
                        compareHrs&lt;br /&gt;
#               else&lt;br /&gt;
#                       echo Uptime record mai mare ca uptime curent&lt;br /&gt;
                fi&lt;br /&gt;
        else&lt;br /&gt;
#               echo Uptime mai mare de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi&lt;br /&gt;
                        uptime &amp;gt; $output&lt;br /&gt;
                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                else&lt;br /&gt;
                        uptimeCurentZile=`uptime | awk '{print $3}'`&lt;br /&gt;
                        uptimeRecordZile=`cat $output | head -1 | awk '{print $3}'`&lt;br /&gt;
                        if [ $uptimeCurentZile -eq $uptimeRecordZile ]; then&lt;br /&gt;
#                               echo Uptime in zile egal&lt;br /&gt;
                                compareHrs&lt;br /&gt;
                        else&lt;br /&gt;
                                if [ $uptimeCurentZile -gt $uptimeRecordZile ]; then&lt;br /&gt;
#                                       echo Record nou&lt;br /&gt;
                                        uptime &amp;gt; $output&lt;br /&gt;
                                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                                fi&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
else&lt;br /&gt;
#       echo Fisierul nu exista, deci trebuie creat. Recordul e uptime-ul curent&lt;br /&gt;
        uptime &amp;gt; $output&lt;br /&gt;
        date &amp;gt;&amp;gt; $output&lt;br /&gt;
fi&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;
[[Category:Collection]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2786</id>
		<title>Scripturi BASH</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2786"/>
				<updated>2006-09-05T10:54:40Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Calcularea recordului de uptime */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Exemple scripturi BASH ==&lt;br /&gt;
&lt;br /&gt;
=== Scripturi care permit schimbarea rapida a MAC+IP ===&lt;br /&gt;
&lt;br /&gt;
[[User:Raptor360|Raptor360]] 12:33, 8 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
====getmac====&lt;br /&gt;
&lt;br /&gt;
Primeste ca parametru un IP si returneaza MAC-ul acestuia sau &amp;quot;&amp;quot; daca nu exista in retea nodul cu pricina.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/getmac''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
mac=`arping -I $IFDEVICE $1 -c 3 | grep reply | cut -f2 -d\[ | cut -f1 -d\] | uniq`&lt;br /&gt;
echo $mac&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====be====&lt;br /&gt;
Primeste ca parametru un IP si schimba MAC-ul si IP-ul pentru un device.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/be''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
gip=`echo -e &amp;quot;$1\t&amp;quot;`&lt;br /&gt;
echo -e &amp;quot; IP is $1.&amp;quot;&lt;br /&gt;
mac=`cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2`&lt;br /&gt;
echo -e &amp;quot;MAC is $mac.&amp;quot;&lt;br /&gt;
if [[ $mac != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
        ifconfig $IFDEVICE down&lt;br /&gt;
        ifconfig $IFDEVICE hw ether $mac&lt;br /&gt;
        ifconfig $IFDEVICE $1 netmask 255.255.248.0 broadcast 10.10.17.255&lt;br /&gt;
        route add default gw 10.10.17.1&lt;br /&gt;
        # echo &amp;quot;nameserver 10.10.17.1&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;$1 has not an associated MAC.&amp;quot;&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====switchuser==== &lt;br /&gt;
&lt;br /&gt;
Schimba MAC-ul si IP-ul aleator conform unuia stocat in /etc/stored folosind scripturile anterioare.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/switchuser''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
notfound=1&lt;br /&gt;
while [[ $notfound -eq 1 ]]; do&lt;br /&gt;
        rip=`echo &amp;quot;$RANDOM % 252 + 3&amp;quot; | bc`&lt;br /&gt;
        for i in `seq $rip 254`; do&lt;br /&gt;
                randip=&amp;quot;10.10.17.$i&amp;quot;&lt;br /&gt;
                gip=`echo -e &amp;quot;$randip\t&amp;quot;`&lt;br /&gt;
                if [[ `cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2` != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                        if [[ `getmac $randip` == &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                                be $randip&lt;br /&gt;
                                exit 0&lt;br /&gt;
                                notfound=1&lt;br /&gt;
                        else&lt;br /&gt;
                                echo &amp;quot;IP $randip is already active.&amp;quot;&lt;br /&gt;
                        fi&lt;br /&gt;
                else&lt;br /&gt;
                        echo &amp;quot;$randip has no MAC associated.&amp;quot;&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
done&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scripturile folosesc fisierul de configurare ''/etc/stored'' in care se adauga perechi de forma: IP\tMAC, e.g. &amp;lt;code&amp;gt;10.10.17.241    00:20:ED:95:2A:A1&lt;br /&gt;
10.10.17.242    4C:00:10:53:BF:A5&amp;lt;/code&amp;gt; precum si variabila din enviroment IFDEVICE daca este definita. e.g. daca vrem sa schimbam ip-ul doar pentru device-ul eth1 atunci apelam la:&lt;br /&gt;
&amp;lt;code&amp;gt;# IFDEVICE=eth1 switchuser &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script care lanseaza in fundal o anumita comanda data ca parametru de intrare ===&lt;br /&gt;
Puteti lasa o comanda sa se execute in fundal fara ca ea sa fie intrerupta la&lt;br /&gt;
iesirea dumneavoastra din sistem folosind urmatorul script pe care l-am numit&lt;br /&gt;
silent. (output-ul nu este salvat, pentru aceasta puteti folosi nohup)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Executing \&amp;quot;$*\&amp;quot;&amp;quot;&lt;br /&gt;
setsid bash -c $* 2&amp;gt;&amp;gt;/dev/null 1&amp;gt;&amp;gt;/dev/null &amp;lt; /dev/null &amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scriptul il puteti folosi de exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ silent wget -c -t 0 www.bigfiles.com/ubuntu.iso&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script ce elimina zona asociata unui domeniu dat ca parametru de intrare ===&lt;br /&gt;
&lt;br /&gt;
Puteţi elimina porţiunea din named.conf de la&lt;br /&gt;
&amp;lt;tt&amp;gt;zone &amp;quot;nume.domeniu.dat.ca.parametru.de.intrare&amp;quot; {&amp;lt;/tt&amp;gt;&lt;br /&gt;
până la acolada închisă asociată acoladei deschise de mai sus.&lt;br /&gt;
&lt;br /&gt;
Scriptul este:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Bind zone remove script&lt;br /&gt;
#&lt;br /&gt;
# Copyright (C) 2005 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
if [ ! $# = 1 ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 domain&amp;quot;;&lt;br /&gt;
    echo &amp;quot;The path to named.conf is defined inside the script&amp;quot;;&lt;br /&gt;
    		 else&lt;br /&gt;
	pathToNamedDotConf=/etc/named.conf&lt;br /&gt;
	&lt;br /&gt;
	x=$(grep -n &amp;quot;zone \&amp;quot;$1\&amp;quot; {&amp;quot; $pathToNamedDotConf | cut -f1 -d:)&lt;br /&gt;
	sed $x,/\}\;/d $pathToNamedDotConf &amp;gt; temp&lt;br /&gt;
	c=$(sed -n $x'p' &amp;lt; temp)&lt;br /&gt;
	if [ &amp;quot;x`echo $c | grep &amp;quot;zone&amp;quot;`&amp;quot; = &amp;quot;x&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		sed $x' d' temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	else&lt;br /&gt;
		cat temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f temp&lt;br /&gt;
	exit&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cautarea unui fisier ce contine un anumit string ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;find /path -name &amp;quot;*&amp;quot; -exec grep -H &amp;quot;&amp;lt;string&amp;gt;&amp;quot;  '{}' \;&amp;lt;/code&amp;gt;&lt;br /&gt;
sau&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;grep -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fireste, &amp;lt;tt&amp;gt;&amp;amp;lt;string&amp;amp;gt;&amp;lt;/tt&amp;gt; poate fi atat un sir de caractere cat si orice fel de expresie regulata suportata de versiunea particulara de &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; disponibila pe masina in cauza.&amp;lt;br /&amp;gt;&lt;br /&gt;
Deasemenea, pentru a cauta fara a face diferenta intre majuscule si minuscule, adaugati parametrul &amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt; la &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Daca doriti ca in output-ul comenzii &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; expresia cautata sa fie cautata sa fie evidentiata puteti folosi parametrul &amp;lt;tt&amp;gt;--color&amp;lt;/tt&amp;gt; astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;grep --color -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stergerea fisierelor backup ===&lt;br /&gt;
&lt;br /&gt;
Asa cum stiti, prin traditie in *NIX, editoarele text fac o copie de siguranta fisierelor editate, copie de siguranta ce este denumita identic cu fisierul initial plus caracterul tilda ('''~'''). Ei bine... in cazul aplicatiilor web, acest backup mai mult dauneaza decat sa ajute.&lt;br /&gt;
Nu ar fi prea placut sa aveti un &amp;lt;tt&amp;gt;index.php~&amp;lt;/tt&amp;gt;  in &amp;lt;tt&amp;gt;DocumentRoot&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;find /path -name &amp;quot;*~&amp;quot; -exec rm -f '{}' \;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme cu spatiul pe disc? ===&lt;br /&gt;
&lt;br /&gt;
Nu stiti unde &amp;quot;vi s-a dus&amp;quot; spatiul de pe disc si e cam greu sa verificati fiecare director in parte?&amp;lt;br /&amp;gt;&lt;br /&gt;
Linia urmatoare va ajuta, facand totodata si o sortare.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;du --max-depth=1 /path | sort -rn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gasirea fisierelor duplicate intr-un director ===&lt;br /&gt;
Aveti prea multe mp3-uri si majoritatea sunt duplicate dar cu alt nume sau orice de genul folositi scriptul de mai jos:D Eventual adaugati si un -maxdepth 1 sa nu fie recursiv.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if [ ! -d &amp;quot;$1&amp;quot; ]; then &lt;br /&gt;
  echo &amp;quot;Usage $0 &amp;lt;dir&amp;gt;&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
find &amp;quot;$1&amp;quot; -type f -print0 |   xargs -0 -n1 md5sum |     sort --key=1,32 | uniq -w 32 -d --all-repeated=prepend \&lt;br /&gt;
                                     |cut -f3- -d' '|sed 's/^$/Fisiere identice:/'&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calcularea recordului de uptime ===&lt;br /&gt;
&lt;br /&gt;
Scriptul urmator va trebui plasat in crontab astfel incat sa ruleze periodic, de exemplu, din ora in ora. El va afisa in fisierul ''$output'' (initial ''/var/log/uptimeRecord.log'') output-ul comenzilor ''uptime'' si ''date'' (adica uptime-ul record si data la care a fost inregistrat).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Copyright (C) 2005 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
output='/var/log/uptimeRecord.log'&lt;br /&gt;
&lt;br /&gt;
function compareHrs&lt;br /&gt;
{&lt;br /&gt;
        uptimeCurentOre=`uptime | awk '{print $5}'`&lt;br /&gt;
        uptimeRecordOre=`cat $output | head -1 | awk '{print $5}'`&lt;br /&gt;
        if [ `expr length $uptimeCurentOre` \&amp;gt; `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
#               echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 1&lt;br /&gt;
                uptime &amp;gt; $output&lt;br /&gt;
                date &amp;gt;&amp;gt; $output&lt;br /&gt;
        else&lt;br /&gt;
                if [ `expr length $uptimeCurentOre` == `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
                        uptimeCurentOra=`echo $uptimeCurentOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        uptimeRecordOra=`echo $uptimeRecordOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        if [ $uptimeCurentOra -gt $uptimeRecordOra ]; then&lt;br /&gt;
#                                echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 2&lt;br /&gt;
                                uptime &amp;gt; $output&lt;br /&gt;
                                date &amp;gt;&amp;gt; $output&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -a $output ]; then&lt;br /&gt;
        uptimeCurent=`uptime`&lt;br /&gt;
        uptimeRecord=`cat $output | head -1`&lt;br /&gt;
        if [ `echo $uptimeCurent | grep -c day` == '0' ]; then&lt;br /&gt;
#               echo Uptime mai mic de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi, comparam orele&lt;br /&gt;
                        compareHrs&lt;br /&gt;
#               else&lt;br /&gt;
#                       echo Uptime record mai mare ca uptime curent&lt;br /&gt;
                fi&lt;br /&gt;
        else&lt;br /&gt;
#               echo Uptime mai mare de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi&lt;br /&gt;
                        uptime &amp;gt; $output&lt;br /&gt;
                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                else&lt;br /&gt;
                        uptimeCurentZile=`uptime | awk '{print $3}'`&lt;br /&gt;
                        uptimeRecordZile=`cat $output | head -1 | awk '{print $3}'`&lt;br /&gt;
                        if [ $uptimeCurentZile -eq $uptimeRecordZile ]; then&lt;br /&gt;
#                               echo Uptime in zile egal&lt;br /&gt;
                                compareHrs&lt;br /&gt;
                        else&lt;br /&gt;
                                if [ $uptimeCurentZile -gt $uptimeRecordZile ]; then&lt;br /&gt;
#                                       echo Record nou&lt;br /&gt;
                                        uptime &amp;gt; $output&lt;br /&gt;
                                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                                fi&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
else&lt;br /&gt;
#       echo Fisierul nu exista, deci trebuie creat. Recordul e uptime-ul curent&lt;br /&gt;
        uptime &amp;gt; $output&lt;br /&gt;
        date &amp;gt;&amp;gt; $output&lt;br /&gt;
fi&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;
[[Category:Collection]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2785</id>
		<title>Scripturi BASH</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2785"/>
				<updated>2006-09-05T10:53:16Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Calcularea recordului de uptime */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Exemple scripturi BASH ==&lt;br /&gt;
&lt;br /&gt;
=== Scripturi care permit schimbarea rapida a MAC+IP ===&lt;br /&gt;
&lt;br /&gt;
[[User:Raptor360|Raptor360]] 12:33, 8 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
====getmac====&lt;br /&gt;
&lt;br /&gt;
Primeste ca parametru un IP si returneaza MAC-ul acestuia sau &amp;quot;&amp;quot; daca nu exista in retea nodul cu pricina.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/getmac''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
mac=`arping -I $IFDEVICE $1 -c 3 | grep reply | cut -f2 -d\[ | cut -f1 -d\] | uniq`&lt;br /&gt;
echo $mac&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====be====&lt;br /&gt;
Primeste ca parametru un IP si schimba MAC-ul si IP-ul pentru un device.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/be''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
gip=`echo -e &amp;quot;$1\t&amp;quot;`&lt;br /&gt;
echo -e &amp;quot; IP is $1.&amp;quot;&lt;br /&gt;
mac=`cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2`&lt;br /&gt;
echo -e &amp;quot;MAC is $mac.&amp;quot;&lt;br /&gt;
if [[ $mac != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
        ifconfig $IFDEVICE down&lt;br /&gt;
        ifconfig $IFDEVICE hw ether $mac&lt;br /&gt;
        ifconfig $IFDEVICE $1 netmask 255.255.248.0 broadcast 10.10.17.255&lt;br /&gt;
        route add default gw 10.10.17.1&lt;br /&gt;
        # echo &amp;quot;nameserver 10.10.17.1&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;$1 has not an associated MAC.&amp;quot;&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====switchuser==== &lt;br /&gt;
&lt;br /&gt;
Schimba MAC-ul si IP-ul aleator conform unuia stocat in /etc/stored folosind scripturile anterioare.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/switchuser''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
notfound=1&lt;br /&gt;
while [[ $notfound -eq 1 ]]; do&lt;br /&gt;
        rip=`echo &amp;quot;$RANDOM % 252 + 3&amp;quot; | bc`&lt;br /&gt;
        for i in `seq $rip 254`; do&lt;br /&gt;
                randip=&amp;quot;10.10.17.$i&amp;quot;&lt;br /&gt;
                gip=`echo -e &amp;quot;$randip\t&amp;quot;`&lt;br /&gt;
                if [[ `cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2` != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                        if [[ `getmac $randip` == &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                                be $randip&lt;br /&gt;
                                exit 0&lt;br /&gt;
                                notfound=1&lt;br /&gt;
                        else&lt;br /&gt;
                                echo &amp;quot;IP $randip is already active.&amp;quot;&lt;br /&gt;
                        fi&lt;br /&gt;
                else&lt;br /&gt;
                        echo &amp;quot;$randip has no MAC associated.&amp;quot;&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
done&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scripturile folosesc fisierul de configurare ''/etc/stored'' in care se adauga perechi de forma: IP\tMAC, e.g. &amp;lt;code&amp;gt;10.10.17.241    00:20:ED:95:2A:A1&lt;br /&gt;
10.10.17.242    4C:00:10:53:BF:A5&amp;lt;/code&amp;gt; precum si variabila din enviroment IFDEVICE daca este definita. e.g. daca vrem sa schimbam ip-ul doar pentru device-ul eth1 atunci apelam la:&lt;br /&gt;
&amp;lt;code&amp;gt;# IFDEVICE=eth1 switchuser &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script care lanseaza in fundal o anumita comanda data ca parametru de intrare ===&lt;br /&gt;
Puteti lasa o comanda sa se execute in fundal fara ca ea sa fie intrerupta la&lt;br /&gt;
iesirea dumneavoastra din sistem folosind urmatorul script pe care l-am numit&lt;br /&gt;
silent. (output-ul nu este salvat, pentru aceasta puteti folosi nohup)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Executing \&amp;quot;$*\&amp;quot;&amp;quot;&lt;br /&gt;
setsid bash -c $* 2&amp;gt;&amp;gt;/dev/null 1&amp;gt;&amp;gt;/dev/null &amp;lt; /dev/null &amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scriptul il puteti folosi de exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ silent wget -c -t 0 www.bigfiles.com/ubuntu.iso&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script ce elimina zona asociata unui domeniu dat ca parametru de intrare ===&lt;br /&gt;
&lt;br /&gt;
Puteţi elimina porţiunea din named.conf de la&lt;br /&gt;
&amp;lt;tt&amp;gt;zone &amp;quot;nume.domeniu.dat.ca.parametru.de.intrare&amp;quot; {&amp;lt;/tt&amp;gt;&lt;br /&gt;
până la acolada închisă asociată acoladei deschise de mai sus.&lt;br /&gt;
&lt;br /&gt;
Scriptul este:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Bind zone remove script&lt;br /&gt;
#&lt;br /&gt;
# Copyright (C) 2005 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
if [ ! $# = 1 ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 domain&amp;quot;;&lt;br /&gt;
    echo &amp;quot;The path to named.conf is defined inside the script&amp;quot;;&lt;br /&gt;
    		 else&lt;br /&gt;
	pathToNamedDotConf=/etc/named.conf&lt;br /&gt;
	&lt;br /&gt;
	x=$(grep -n &amp;quot;zone \&amp;quot;$1\&amp;quot; {&amp;quot; $pathToNamedDotConf | cut -f1 -d:)&lt;br /&gt;
	sed $x,/\}\;/d $pathToNamedDotConf &amp;gt; temp&lt;br /&gt;
	c=$(sed -n $x'p' &amp;lt; temp)&lt;br /&gt;
	if [ &amp;quot;x`echo $c | grep &amp;quot;zone&amp;quot;`&amp;quot; = &amp;quot;x&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		sed $x' d' temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	else&lt;br /&gt;
		cat temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f temp&lt;br /&gt;
	exit&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cautarea unui fisier ce contine un anumit string ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;find /path -name &amp;quot;*&amp;quot; -exec grep -H &amp;quot;&amp;lt;string&amp;gt;&amp;quot;  '{}' \;&amp;lt;/code&amp;gt;&lt;br /&gt;
sau&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;grep -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fireste, &amp;lt;tt&amp;gt;&amp;amp;lt;string&amp;amp;gt;&amp;lt;/tt&amp;gt; poate fi atat un sir de caractere cat si orice fel de expresie regulata suportata de versiunea particulara de &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; disponibila pe masina in cauza.&amp;lt;br /&amp;gt;&lt;br /&gt;
Deasemenea, pentru a cauta fara a face diferenta intre majuscule si minuscule, adaugati parametrul &amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt; la &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Daca doriti ca in output-ul comenzii &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; expresia cautata sa fie cautata sa fie evidentiata puteti folosi parametrul &amp;lt;tt&amp;gt;--color&amp;lt;/tt&amp;gt; astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;grep --color -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stergerea fisierelor backup ===&lt;br /&gt;
&lt;br /&gt;
Asa cum stiti, prin traditie in *NIX, editoarele text fac o copie de siguranta fisierelor editate, copie de siguranta ce este denumita identic cu fisierul initial plus caracterul tilda ('''~'''). Ei bine... in cazul aplicatiilor web, acest backup mai mult dauneaza decat sa ajute.&lt;br /&gt;
Nu ar fi prea placut sa aveti un &amp;lt;tt&amp;gt;index.php~&amp;lt;/tt&amp;gt;  in &amp;lt;tt&amp;gt;DocumentRoot&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;find /path -name &amp;quot;*~&amp;quot; -exec rm -f '{}' \;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme cu spatiul pe disc? ===&lt;br /&gt;
&lt;br /&gt;
Nu stiti unde &amp;quot;vi s-a dus&amp;quot; spatiul de pe disc si e cam greu sa verificati fiecare director in parte?&amp;lt;br /&amp;gt;&lt;br /&gt;
Linia urmatoare va ajuta, facand totodata si o sortare.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;du --max-depth=1 /path | sort -rn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gasirea fisierelor duplicate intr-un director ===&lt;br /&gt;
Aveti prea multe mp3-uri si majoritatea sunt duplicate dar cu alt nume sau orice de genul folositi scriptul de mai jos:D Eventual adaugati si un -maxdepth 1 sa nu fie recursiv.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if [ ! -d &amp;quot;$1&amp;quot; ]; then &lt;br /&gt;
  echo &amp;quot;Usage $0 &amp;lt;dir&amp;gt;&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
find &amp;quot;$1&amp;quot; -type f -print0 |   xargs -0 -n1 md5sum |     sort --key=1,32 | uniq -w 32 -d --all-repeated=prepend \&lt;br /&gt;
                                     |cut -f3- -d' '|sed 's/^$/Fisiere identice:/'&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calcularea recordului de uptime ===&lt;br /&gt;
&lt;br /&gt;
Scriptul urmator va trebui plasat in crontab astfel incat sa ruleze periodic, de exemplu, din ora in ora. El va afisa in fisierul ''$output'' (initial ''/var/log/uptimeRecord.log'') output-ul comenzilor ''uptime'' si ''date'' (adica uptime-ul record si data la care a fost inregistrat).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Copyright (C) 2005 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
output='/var/log/uptimeRecord.log'&lt;br /&gt;
&lt;br /&gt;
function compareHrs&lt;br /&gt;
{&lt;br /&gt;
        uptimeCurentOre=`uptime | awk '{print $5}'`&lt;br /&gt;
        uptimeRecordOre=`cat $output | head -1 | awk '{print $5}'`&lt;br /&gt;
        if [ `expr length $uptimeCurentOre` \&amp;gt; `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
#               echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 1&lt;br /&gt;
                uptime &amp;gt; $output&lt;br /&gt;
                date &amp;gt;&amp;gt; $output&lt;br /&gt;
        else&lt;br /&gt;
                if [ `expr length $uptimeCurentOre` == `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
                        uptimeCurentOra=`echo $uptimeCurentOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        uptimeRecordOra=`echo $uptimeRecordOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        if [ $uptimeCurentOra -gt $uptimeRecordOra ]; then&lt;br /&gt;
#                                echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 2&lt;br /&gt;
                                uptime &amp;gt; $output&lt;br /&gt;
                                date &amp;gt;&amp;gt; $output&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -a $output ]; then&lt;br /&gt;
        uptimeCurent=`uptime`&lt;br /&gt;
        uptimeRecord=`cat $output | head -1`&lt;br /&gt;
        if [ `echo $uptimeCurent | grep -c day` == '0' ]; then&lt;br /&gt;
#               echo Uptime mai mic de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi, comparam orele&lt;br /&gt;
                        compareHrs&lt;br /&gt;
#               else&lt;br /&gt;
#                       echo Uptime record mai mare ca uptime curent&lt;br /&gt;
                fi&lt;br /&gt;
        else&lt;br /&gt;
#               echo Uptime mai mare de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi&lt;br /&gt;
                        uptime &amp;gt; $output&lt;br /&gt;
                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                else&lt;br /&gt;
                        uptimeCurentZile=`uptime | awk '{print $3}'`&lt;br /&gt;
                        uptimeRecordZile=`cat $output | head -1 | awk '{print $3}'`&lt;br /&gt;
                        if [ $uptimeCurentZile -eq $uptimeRecordZile ]; then&lt;br /&gt;
#                               echo Uptime in zile egal&lt;br /&gt;
                                compareHrs&lt;br /&gt;
                        else&lt;br /&gt;
                                if [ $uptimeCurentZile -gt $uptimeRecordZile ]; then&lt;br /&gt;
#                                       echo Record nou&lt;br /&gt;
                                        uptime &amp;gt; $output&lt;br /&gt;
                                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                                fi&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
else&lt;br /&gt;
#       echo Fisierul nu exista, deci trebuie creat. Recordul e uptime-ul curent&lt;br /&gt;
        uptime &amp;gt; $output&lt;br /&gt;
        date &amp;gt;&amp;gt; $output&lt;br /&gt;
fi&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;
[[Category:Collection]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2784</id>
		<title>Scripturi BASH</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2784"/>
				<updated>2006-09-05T10:52:22Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Exemple scripturi BASH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Exemple scripturi BASH ==&lt;br /&gt;
&lt;br /&gt;
=== Scripturi care permit schimbarea rapida a MAC+IP ===&lt;br /&gt;
&lt;br /&gt;
[[User:Raptor360|Raptor360]] 12:33, 8 June 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
====getmac====&lt;br /&gt;
&lt;br /&gt;
Primeste ca parametru un IP si returneaza MAC-ul acestuia sau &amp;quot;&amp;quot; daca nu exista in retea nodul cu pricina.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/getmac''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
mac=`arping -I $IFDEVICE $1 -c 3 | grep reply | cut -f2 -d\[ | cut -f1 -d\] | uniq`&lt;br /&gt;
echo $mac&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====be====&lt;br /&gt;
Primeste ca parametru un IP si schimba MAC-ul si IP-ul pentru un device.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/be''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
if [[ ! $IFDEVICE ]]; then&lt;br /&gt;
        IFDEVICE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
gip=`echo -e &amp;quot;$1\t&amp;quot;`&lt;br /&gt;
echo -e &amp;quot; IP is $1.&amp;quot;&lt;br /&gt;
mac=`cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2`&lt;br /&gt;
echo -e &amp;quot;MAC is $mac.&amp;quot;&lt;br /&gt;
if [[ $mac != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
        ifconfig $IFDEVICE down&lt;br /&gt;
        ifconfig $IFDEVICE hw ether $mac&lt;br /&gt;
        ifconfig $IFDEVICE $1 netmask 255.255.248.0 broadcast 10.10.17.255&lt;br /&gt;
        route add default gw 10.10.17.1&lt;br /&gt;
        # echo &amp;quot;nameserver 10.10.17.1&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;$1 has not an associated MAC.&amp;quot;&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====switchuser==== &lt;br /&gt;
&lt;br /&gt;
Schimba MAC-ul si IP-ul aleator conform unuia stocat in /etc/stored folosind scripturile anterioare.&lt;br /&gt;
&lt;br /&gt;
''/usr/local/bin/switchuser''&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
notfound=1&lt;br /&gt;
while [[ $notfound -eq 1 ]]; do&lt;br /&gt;
        rip=`echo &amp;quot;$RANDOM % 252 + 3&amp;quot; | bc`&lt;br /&gt;
        for i in `seq $rip 254`; do&lt;br /&gt;
                randip=&amp;quot;10.10.17.$i&amp;quot;&lt;br /&gt;
                gip=`echo -e &amp;quot;$randip\t&amp;quot;`&lt;br /&gt;
                if [[ `cat /etc/stored | grep &amp;quot;$gip&amp;quot; | cut -f2` != &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                        if [[ `getmac $randip` == &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
                                be $randip&lt;br /&gt;
                                exit 0&lt;br /&gt;
                                notfound=1&lt;br /&gt;
                        else&lt;br /&gt;
                                echo &amp;quot;IP $randip is already active.&amp;quot;&lt;br /&gt;
                        fi&lt;br /&gt;
                else&lt;br /&gt;
                        echo &amp;quot;$randip has no MAC associated.&amp;quot;&lt;br /&gt;
                fi&lt;br /&gt;
        done&lt;br /&gt;
done&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scripturile folosesc fisierul de configurare ''/etc/stored'' in care se adauga perechi de forma: IP\tMAC, e.g. &amp;lt;code&amp;gt;10.10.17.241    00:20:ED:95:2A:A1&lt;br /&gt;
10.10.17.242    4C:00:10:53:BF:A5&amp;lt;/code&amp;gt; precum si variabila din enviroment IFDEVICE daca este definita. e.g. daca vrem sa schimbam ip-ul doar pentru device-ul eth1 atunci apelam la:&lt;br /&gt;
&amp;lt;code&amp;gt;# IFDEVICE=eth1 switchuser &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script care lanseaza in fundal o anumita comanda data ca parametru de intrare ===&lt;br /&gt;
Puteti lasa o comanda sa se execute in fundal fara ca ea sa fie intrerupta la&lt;br /&gt;
iesirea dumneavoastra din sistem folosind urmatorul script pe care l-am numit&lt;br /&gt;
silent. (output-ul nu este salvat, pentru aceasta puteti folosi nohup)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Executing \&amp;quot;$*\&amp;quot;&amp;quot;&lt;br /&gt;
setsid bash -c $* 2&amp;gt;&amp;gt;/dev/null 1&amp;gt;&amp;gt;/dev/null &amp;lt; /dev/null &amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scriptul il puteti folosi de exemplu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ silent wget -c -t 0 www.bigfiles.com/ubuntu.iso&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script ce elimina zona asociata unui domeniu dat ca parametru de intrare ===&lt;br /&gt;
&lt;br /&gt;
Puteţi elimina porţiunea din named.conf de la&lt;br /&gt;
&amp;lt;tt&amp;gt;zone &amp;quot;nume.domeniu.dat.ca.parametru.de.intrare&amp;quot; {&amp;lt;/tt&amp;gt;&lt;br /&gt;
până la acolada închisă asociată acoladei deschise de mai sus.&lt;br /&gt;
&lt;br /&gt;
Scriptul este:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Bind zone remove script&lt;br /&gt;
#&lt;br /&gt;
# Copyright (C) 2005 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
if [ ! $# = 1 ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 domain&amp;quot;;&lt;br /&gt;
    echo &amp;quot;The path to named.conf is defined inside the script&amp;quot;;&lt;br /&gt;
    		 else&lt;br /&gt;
	pathToNamedDotConf=/etc/named.conf&lt;br /&gt;
	&lt;br /&gt;
	x=$(grep -n &amp;quot;zone \&amp;quot;$1\&amp;quot; {&amp;quot; $pathToNamedDotConf | cut -f1 -d:)&lt;br /&gt;
	sed $x,/\}\;/d $pathToNamedDotConf &amp;gt; temp&lt;br /&gt;
	c=$(sed -n $x'p' &amp;lt; temp)&lt;br /&gt;
	if [ &amp;quot;x`echo $c | grep &amp;quot;zone&amp;quot;`&amp;quot; = &amp;quot;x&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		sed $x' d' temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	else&lt;br /&gt;
		cat temp &amp;gt; $pathToNamedDotConf&lt;br /&gt;
	fi&lt;br /&gt;
	rm -f temp&lt;br /&gt;
	exit&lt;br /&gt;
fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cautarea unui fisier ce contine un anumit string ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;find /path -name &amp;quot;*&amp;quot; -exec grep -H &amp;quot;&amp;lt;string&amp;gt;&amp;quot;  '{}' \;&amp;lt;/code&amp;gt;&lt;br /&gt;
sau&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;grep -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fireste, &amp;lt;tt&amp;gt;&amp;amp;lt;string&amp;amp;gt;&amp;lt;/tt&amp;gt; poate fi atat un sir de caractere cat si orice fel de expresie regulata suportata de versiunea particulara de &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; disponibila pe masina in cauza.&amp;lt;br /&amp;gt;&lt;br /&gt;
Deasemenea, pentru a cauta fara a face diferenta intre majuscule si minuscule, adaugati parametrul &amp;lt;tt&amp;gt;-i&amp;lt;/tt&amp;gt; la &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Daca doriti ca in output-ul comenzii &amp;lt;tt&amp;gt;grep&amp;lt;/tt&amp;gt; expresia cautata sa fie cautata sa fie evidentiata puteti folosi parametrul &amp;lt;tt&amp;gt;--color&amp;lt;/tt&amp;gt; astfel:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;grep --color -Hr &amp;quot;&amp;lt;string&amp;gt;&amp;quot; /path/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stergerea fisierelor backup ===&lt;br /&gt;
&lt;br /&gt;
Asa cum stiti, prin traditie in *NIX, editoarele text fac o copie de siguranta fisierelor editate, copie de siguranta ce este denumita identic cu fisierul initial plus caracterul tilda ('''~'''). Ei bine... in cazul aplicatiilor web, acest backup mai mult dauneaza decat sa ajute.&lt;br /&gt;
Nu ar fi prea placut sa aveti un &amp;lt;tt&amp;gt;index.php~&amp;lt;/tt&amp;gt;  in &amp;lt;tt&amp;gt;DocumentRoot&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;find /path -name &amp;quot;*~&amp;quot; -exec rm -f '{}' \;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme cu spatiul pe disc? ===&lt;br /&gt;
&lt;br /&gt;
Nu stiti unde &amp;quot;vi s-a dus&amp;quot; spatiul de pe disc si e cam greu sa verificati fiecare director in parte?&amp;lt;br /&amp;gt;&lt;br /&gt;
Linia urmatoare va ajuta, facand totodata si o sortare.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;du --max-depth=1 /path | sort -rn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gasirea fisierelor duplicate intr-un director ===&lt;br /&gt;
Aveti prea multe mp3-uri si majoritatea sunt duplicate dar cu alt nume sau orice de genul folositi scriptul de mai jos:D Eventual adaugati si un -maxdepth 1 sa nu fie recursiv.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
if [ ! -d &amp;quot;$1&amp;quot; ]; then &lt;br /&gt;
  echo &amp;quot;Usage $0 &amp;lt;dir&amp;gt;&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
find &amp;quot;$1&amp;quot; -type f -print0 |   xargs -0 -n1 md5sum |     sort --key=1,32 | uniq -w 32 -d --all-repeated=prepend \&lt;br /&gt;
                                     |cut -f3- -d' '|sed 's/^$/Fisiere identice:/'&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calcularea recordului de uptime ===&lt;br /&gt;
&lt;br /&gt;
Scriptul urmator va trebui plasat in crontab astfel incat sa ruleze periodic, de exemplu, din ora in ora. El va afisa in fisierul ''$output'' (initial ''/var/log/uptimeRecord.log'') output-ul comenzilor ''uptime'' si ''date'' (adica uptime-ul record si data la care a fost inregistrat).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Copyright (C) 2005 Silvian Cretu &amp;lt;silvian86@yahoo.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or&lt;br /&gt;
# modify it under the terms of the GNU General Public License&lt;br /&gt;
# as published by the Free Software Foundation; either version 2&lt;br /&gt;
# of the License, or (at your option) any later version.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful,&lt;br /&gt;
# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
# GNU General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU General Public License&lt;br /&gt;
# along with this program; if not, write to the Free Software&lt;br /&gt;
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. &lt;br /&gt;
&lt;br /&gt;
output='/var/log/uptimeRecord.log'&lt;br /&gt;
&lt;br /&gt;
function compareHrs&lt;br /&gt;
{&lt;br /&gt;
        uptimeCurentOre=`uptime | awk '{print $5}'`&lt;br /&gt;
        uptimeRecordOre=`cat $output | head -1 | awk '{print $5}'`&lt;br /&gt;
        if [ `expr length $uptimeCurentOre` \&amp;gt; `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
#               echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 1&lt;br /&gt;
                uptime &amp;gt; $output&lt;br /&gt;
                date &amp;gt;&amp;gt; $output&lt;br /&gt;
        else&lt;br /&gt;
                if [ `expr length $uptimeCurentOre` == `expr length $uptimeRecordOre` ]; then&lt;br /&gt;
                        uptimeCurentOra=`echo $uptimeCurentOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        uptimeRecordOra=`echo $uptimeRecordOre | cut -d&amp;quot;:&amp;quot; -f1`&lt;br /&gt;
                        if [ $uptimeCurentOra -gt $uptimeRecordOra ]; then&lt;br /&gt;
#                                echo Nou record - Uptime curent mai mare cu cateva ore decat uptime-ul record 2&lt;br /&gt;
                                uptime &amp;gt; $output&lt;br /&gt;
                                date &amp;gt;&amp;gt; $output&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -a $output ]; then&lt;br /&gt;
        uptimeCurent=`uptime`&lt;br /&gt;
        uptimeRecord=`cat $output | head -1`&lt;br /&gt;
        if [ `echo $uptimeCurent | grep -c day` == '0' ]; then&lt;br /&gt;
#               echo Uptime mai mic de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi, comparam orele&lt;br /&gt;
                        compareHrs&lt;br /&gt;
#               else&lt;br /&gt;
#                       echo Uptime record mai mare ca uptime curent&lt;br /&gt;
                fi&lt;br /&gt;
        else&lt;br /&gt;
#               echo Uptime mai mare de o zi&lt;br /&gt;
                if [ `echo $uptimeRecord | grep -c day` == '0' ]; then&lt;br /&gt;
#                       echo Uptime record mai mic de o zi&lt;br /&gt;
                        uptime &amp;gt; $output&lt;br /&gt;
                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                else&lt;br /&gt;
                        uptimeCurentZile=`uptime | awk '{print $3}'`&lt;br /&gt;
                        uptimeRecordZile=`cat $output | head -1 | awk '{print $3}'`&lt;br /&gt;
                        if [ $uptimeCurentZile -eq $uptimeRecordZile ]; then&lt;br /&gt;
#                               echo Uptime in zile egal&lt;br /&gt;
                                compareHrs&lt;br /&gt;
                        else&lt;br /&gt;
                                if [ $uptimeCurentZile -gt $uptimeRecordZile ]; then&lt;br /&gt;
#                                       echo Record nou&lt;br /&gt;
                                        uptime &amp;gt; $output&lt;br /&gt;
                                        date &amp;gt;&amp;gt; $output&lt;br /&gt;
                                fi&lt;br /&gt;
                        fi&lt;br /&gt;
                fi&lt;br /&gt;
        fi&lt;br /&gt;
else&lt;br /&gt;
#       echo Fisierul nu exista, deci trebuie creat. Recordul e uptime-ul curent&lt;br /&gt;
        uptime &amp;gt; $output&lt;br /&gt;
        date &amp;gt;&amp;gt; $output&lt;br /&gt;
fi&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;
[[Category:Collection]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2780</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=2780"/>
				<updated>2006-08-04T02:56:34Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &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://www.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.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:&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.mandrivausers.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;
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;
'''[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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2779</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=2779"/>
				<updated>2006-08-03T02:41:24Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* 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;
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;
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;
'''[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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2774</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=2774"/>
				<updated>2006-07-14T14:36:17Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &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 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;
====== 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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Talk:Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2773</id>
		<title>Talk:Ce este GNU/Linux? / Cum invat Linux?</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Talk:Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2773"/>
				<updated>2006-07-14T14:29:13Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Idei si contributii */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Acest articol este in curs de scriere si incerca sa trateze niste probleme pe care le poate intalni un utilizator nou de Linux. Dupa cum stim, sunt si utilizatori care nu au neaparat cunostinte avansate de informatica, motiv pentru care voi incerca sa transmit informatiile intr-o maniera cat mai intuitiva.&lt;br /&gt;
&lt;br /&gt;
Daca intalniti greseli, de orice natura, va rog nu ezitati sa imi spuneti. Evident, daca nu necesita o inteventie majora, le puteti corecta chiar voi.&lt;br /&gt;
&lt;br /&gt;
In timp, voi aduga si diacriticele, dar in acest moment am considerat mai importanta informatia decat prezentarea. Tot in categoria TODO, intra si cosmetizarea, respectiv introducerea unor link-uri in locurile potrivite. Vor fi puse si ele in curand.&lt;br /&gt;
&lt;br /&gt;
Pe alocuri, voi presara articolul cu urmatoarea sintagma '''[FIXME]'''. Asta inseamna ca eu nu am avut experienta cu o anumita notiune, dar locul ei este in acest articol. Ma puteti ajuta completand informatia necesara? Voi mai da si eu cate un Google, dar un cunoscator poate completa mai bine acele notiuni decat mine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asa... am tras acum niste titluri ca sa stiu ce am de facut si in ce ordine. Nu va sperati, nu va deveni un articol gigant, ci voi trata '''foarte''' pe scurt notiunile respective. In cele mai dese cazuri, voi da link-uri catre articole interne din wiki (sau chiar externe in cazul in care un subiect nu este tratat), pentru ca respectivul incepator sa stie de unde sa inceapa :-).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
--[[User:Andrei Ristea|Andrei Ristea]] 11:11, 14 April 2006 (EEST)&lt;br /&gt;
&lt;br /&gt;
'''Contributii'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Puteti ajuta la corectarea greselilor de tipar, de gramatica, de exprimare, adaugarea diacriticelor.&lt;br /&gt;
* Puteti ajuta adaugand in articol informatiile necesare pe unde vedeti sintagma '''[FIXME]'''&lt;br /&gt;
* Puteti ajuta scriind articole care au legatura cu informatiile prezentate aici si adaugand un link catre articolul vostru. Dupa cum am mai spus, acest articol nu va fi un super gigant, ci doar unul maricel. Se mai poate scurta daca anumite sectiuni pot fi preluate in intregime de articole deja scrise.&lt;br /&gt;
* Daca vreti sa lucrati asupra unei parti din articol, va rog sa ma anuntati in sectiunea de mai jos. ''Motivul:'' sa nu lucram doi sau mai multi oameni asupra unei aceleiasi sectiuni, pentru ca risca sa iasa o brambureala. Insa sunteti mai mult decat bineveniti sa contribuiti!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idei si contributii ==&lt;br /&gt;
&lt;br /&gt;
* Astept propuneri si fapte bune :-)&lt;br /&gt;
* Multumim lui [[User:Unixro | Unixro]] pentru contributie.&lt;br /&gt;
* Trebuie rezolvata cumva problema cu 1, 2 si 3 care dezechilibreaza articolul. De 1 am scapat eu, 2 va deveni corpul sau iar 3 trebuie lipit cumva de incheiere. [[User:Csdexter|@Dexter]] 20:40, 22 April 2006 (EEST)&lt;br /&gt;
* Da, ai dreptate. Fostul 3 este inca in lucru deoarece m-am gandit ca nu este cazul sa scriu o incheiere cat timp jumatate de articol este inca in lucru. Din pacate insa mutatul lui 1 nu a fost o miscare prea fericita. Ideea este buna, dar rezultatul nu este cel scontat. Eu intru de pe rezolutia 1024x768, si cand nu sunt logat, arata groaznic, mai gasesc litere prin alte parti... e ciudat pe scurt. Momentan il las asa, dar va trebui aranjat din nou la un moment dat, eventual sa dau eu titluri mai scurte. --[[User:Andrei Ristea|Andrei Ristea]] 18:53, 23 April 2006 (EEST)&lt;br /&gt;
* Later edit: Tot eu sunt. Cred ca e de vina skin-ul wiki-ului cand nu sunt logat, deoarece cel care apare cand sunt logat nu este asa de frumos, dar e mai lizibil/ordonat.&lt;br /&gt;
* In primul rand ca MediaWiki n-a fost facut niciodata sa arate bine -- a fost facut sa arate cat mai identic pe cat mai multe browsere si sa ramana citibil indiferent de limba in care ii este redactat continutul. In al doilea rand, skin-ul care se vede cand nu esti logat (NewMono) este o chestie ne-wiki. Este un skin care se vede bine doar in Mozilla si este alegerea si creatia lui Ovidiu -- incearca sa-i explici lui despre portabilitate &amp;amp; stuff, eu nu am reusit. Skin-ul care se vede dupa ce te-ai logat (daca nu cumva ai ales altul din profil) si anume Monobook este skin-ul implicit al lui WikiMedia si deci are toate proprietatile care te-ai astepta sa le aiba. [[User:Csdexter|@Dexter]] 21:55, 23 April 2006 (EEST)&lt;br /&gt;
* Multumim lui [[User:Syl|Syl]] pentru contributii.&lt;br /&gt;
* Multumim lui [[User:pensacola|Pensacola]] pentru contributia la sectiunea &amp;lt;tt&amp;gt;/etc/inittab&amp;lt;/tt&amp;gt;. Cand va avea timp (momentan este prins cu examene) va contribui el insusi, momentan am fost rugat sa postez eu in numele lui. --[[User:Andrei Ristea|Andrei Ristea]] 11:43, 29 April 2006 (EEST)&lt;br /&gt;
* Multumim lui [[User:Raptor360|Raptor360]] pentru contributii.&lt;br /&gt;
* Am reparat eu ordinea capitolelor (nu stiu cum ati reusit sa amestecati utilizatorii cu comenzile :(( ) si am si facut o tona de corecturi de formatare. Ar trebui sa scrie cineva ceva si despre +x la directoare si ar mai trebui sa renuntati la exprimarea &amp;quot;de bodega&amp;quot; si sa incercati sa o adaptati pe cea academica. Cam asta e pe moment. [[User:Csdexter|@Dexter]] 23:05, 8 May 2006 (EEST)&lt;br /&gt;
* Mai usor Radule, nu da cu paru', incercam si noi ce putem. Dupa cum am spus, mai periem la sfarsit. Ce este greseala flagranta, bineinteles, corectam cat mai repede, dar chestiile minore (insa la care trebuie interventie mai masiva), mai pot astepta un pic. Acum nu stiu exact la ce te referi prin exprimarea &amp;quot;de bodega&amp;quot;, dar articolul se vrea a avea un ton cat mai prietenos posibil. Daca voiam stilul academic il redactam din prima asa. Spune punctual o problema si vedem daca intr-adevar e cazul sa schimbam stilul. --[[User:Andrei Ristea|Andrei Ristea]] 21:41, 9 May 2006 (EEST)&lt;br /&gt;
* Revin si dau de veste ca nu am disparut. Sesiunea insa ma impiedica sa mai fac si altceva si de preferabil constructiv ;-). Sectiunea pe care am rezervat-o, cea referitoare la kernel, sper sa ramana inca libera pana cand ma intorc, deoarece am deja un material initial si intetionez sa introduc o abordare ceva mai buna decat un simplu &amp;quot;cum sa&amp;quot;, cum am facut pana acum, deoarece este un loc excelent pentru a sublinia cateva notiuni de baza. In alta ordine de idei, e clar ca dupa ce se termina sesiunea trebuie sa incepem reorganizarea articolului pentru ca nu prea respecta intentiile initiale si anume de a fi cat de cat pe scurt si sa dea link-uri catre articole la obiect. Bineinteles ca vina imi apartine in multe parti, motiv pentru care voi incepe atunci sa transfer unele sectiuni in articole de sine statatoare. Si ca ultima nota, multumim contribuitorilor :-).--[[User:Andrei Ristea|Andrei Ristea]] 20:16, 26 May 2006 (EEST)&lt;br /&gt;
* [[User:Syl|Syl]]: am schimbat SUSE in openSUSE fiindca ne referim la distributia pentru Desktop, si, incepand cu 10.2a2 [http://lists.opensuse.org/archive/opensuse-announce/2006-Jul/0002.html si-a schimbat numele].&lt;/div&gt;</summary>
		<author><name>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2772</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=2772"/>
				<updated>2006-07-14T14:25:31Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Care este cea mai buna distributie? */&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 '''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;
* 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 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;
====== 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;
==== SUSE ====&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 SUSE 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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2771</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=2771"/>
				<updated>2006-07-13T14:49:05Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* 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;
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://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&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], [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;
&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 '''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;
* 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 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;
====== 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;
==== SUSE ====&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 SUSE 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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2770</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=2770"/>
				<updated>2006-07-13T14:33:50Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Mandriva */&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/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Distributie foarte prietenoasa disponibila atat in versiune Enterprise cat si Desktop, sponsorizata de [http://www.novell.com/ 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 '''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;
* 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 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;
====== 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;
* ''Community'' - nume de cod pentru ramura ''unstable'' cand ajunge aproape de release-ul final. Contine pachetele ce alcatuiesc Release Candidate-ul pentru noua versiune de Mandriva.&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;
==== SUSE ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2769</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=2769"/>
				<updated>2006-07-13T14:25:21Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: /* Care este cea mai buna distributie? */&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/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&lt;br /&gt;
: Distributie foarte prietenoasa disponibila atat in versiune Enterprise cat si Desktop, sponsorizata de [http://www.novell.com/ 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 '''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;
* 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 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;
====== 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;
==== SUSE ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2766</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=2766"/>
				<updated>2006-07-09T07:28:21Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &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://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&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], [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;
&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 '''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;
* 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 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;
====== 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;
==== SUSE ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2765</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=2765"/>
				<updated>2006-07-09T07:25:35Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &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://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&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], [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;
&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 '''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;
* 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 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;
====== 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;
==== SUSE ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&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;
&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>Syl</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2764</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=2764"/>
				<updated>2006-07-09T07:23:52Z</updated>
		
		<summary type="html">&lt;p&gt;Syl: &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://www.novell.com/linux/ SUSE] (versiune curenta&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10.1)&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], [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;
&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 '''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;
* 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 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;
====== 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;
==== SUSE ====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu ====&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;
&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>Syl</name></author>	</entry>

	</feed>