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

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=3433</id>
		<title>Cum dau net mai departe</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=3433"/>
				<updated>2007-04-04T12:00:39Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Final */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scopul Ghidului==&lt;br /&gt;
Setarea unui server de internet folosind SNAT&lt;br /&gt;
&lt;br /&gt;
==Configurarea Serverului==&lt;br /&gt;
Mai intai configuram net-ul pentru server. In functie de distributie sunt utilitare care fac acest lucru automat.&lt;br /&gt;
Asa cum bine stim (sau ar trebui) majoritatea fisierelor de configurare a unui SO linux se gasesc in directorul /etc , iar scripturile&lt;br /&gt;
de inceput in /etc/rc.d pe sistemele ce folosesc sistemul BSD iar pe celelalte in /etc/init.d/ . Pentru a afla cum sa setezi net-ul pentru distributia ta consulta manualul respectivei distributii.&lt;br /&gt;
Setarea manuala a retelei (valabila pentru toate distributiile) se face cu urmatoarele comenzi (presupunand ca suportul necesar pentru&lt;br /&gt;
placile de retea se afla in kernel sau modulele aferente sunt incarcate):&lt;br /&gt;
Scriptul urmator se va salva ca &amp;lt;tt&amp;gt;net.sh&amp;lt;/tt&amp;gt;&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
ip_net=10.0.23.32&lt;br /&gt;
netmask_net=255.255.0.0&lt;br /&gt;
gateway_net=10.0.0.1&lt;br /&gt;
dns1=123.123.123.123&lt;br /&gt;
dns2=123.123.123.124&lt;br /&gt;
ip_retea=192.168.0.1&lt;br /&gt;
netmask_retea=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
#configurarea net-ului&lt;br /&gt;
/sbin/ifconfig $placa_net $ip_net netmask $netmask_net &lt;br /&gt;
/sbin/route add default gw $gateway_net metric 1&lt;br /&gt;
echo &amp;quot;$dns1&amp;quot;&amp;gt;/etc/resolv.conf&lt;br /&gt;
echo &amp;quot;$dns2&amp;quot;&amp;gt;&amp;gt;/etc/resolv.conf&lt;br /&gt;
#configurarea retelei&lt;br /&gt;
/sbin/ifconfig $placa_retea netmask $netmask_retea&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configurarea SNAT-ului==&lt;br /&gt;
Scriptul urmator se va salva ca &amp;lt;tt&amp;gt;snat.sh&amp;lt;/tt&amp;gt;&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
clasa_retea=192.168.0.0&lt;br /&gt;
iptables=/usr/sbin/iptables&lt;br /&gt;
&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
$iptables -t nat -F&lt;br /&gt;
$iptables -F FORWARD&lt;br /&gt;
$iptables -P FORWARD DROP&lt;br /&gt;
$iptables -t nat -A POSTROUTING -o $placa_net -j MASQUERADE&lt;br /&gt;
$iptables -A FORWARD -i $placa_retea -j ACCEPT&lt;br /&gt;
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Final==&lt;br /&gt;
Asa acum ca avem cele 2 scripturi urmeaza sa le facem executabile si sa le punem sa porneasca la boot-are.&lt;br /&gt;
Pentru a le face executabile vom da comenzile:&amp;lt;code&amp;gt;# chmod +x net.sh&lt;br /&gt;
# chmod +x snat.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;quot;#&amp;quot; simbolizeaza prompt-ul de root.&lt;br /&gt;
Urmatorul pas este adaugarea lor in scriptul rc.local care il gasiti fie in /etc/rc.d fie in /etc/init.d sau in locul indicat de manualul distributiei.&lt;br /&gt;
&lt;br /&gt;
Iar acum suntem in posesia unui server de linux care stie sa si &amp;quot;dea&amp;quot; net-ul mai departe. Si cum stiu ca sunteti niste admini responsabili, va apucati sa cititi mai multe despre &amp;lt;tt&amp;gt;[[Iptables_romana|iptables]]&amp;lt;/tt&amp;gt;, si cum se securizeaza acest server, si ce servicii le mai puteti &lt;br /&gt;
oferi clientilor.&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Routing]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=3432</id>
		<title>Cum dau net mai departe</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=3432"/>
				<updated>2007-04-04T12:00:17Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Configurarea SNAT-ului */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scopul Ghidului==&lt;br /&gt;
Setarea unui server de internet folosind SNAT&lt;br /&gt;
&lt;br /&gt;
==Configurarea Serverului==&lt;br /&gt;
Mai intai configuram net-ul pentru server. In functie de distributie sunt utilitare care fac acest lucru automat.&lt;br /&gt;
Asa cum bine stim (sau ar trebui) majoritatea fisierelor de configurare a unui SO linux se gasesc in directorul /etc , iar scripturile&lt;br /&gt;
de inceput in /etc/rc.d pe sistemele ce folosesc sistemul BSD iar pe celelalte in /etc/init.d/ . Pentru a afla cum sa setezi net-ul pentru distributia ta consulta manualul respectivei distributii.&lt;br /&gt;
Setarea manuala a retelei (valabila pentru toate distributiile) se face cu urmatoarele comenzi (presupunand ca suportul necesar pentru&lt;br /&gt;
placile de retea se afla in kernel sau modulele aferente sunt incarcate):&lt;br /&gt;
Scriptul urmator se va salva ca &amp;lt;tt&amp;gt;net.sh&amp;lt;/tt&amp;gt;&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
ip_net=10.0.23.32&lt;br /&gt;
netmask_net=255.255.0.0&lt;br /&gt;
gateway_net=10.0.0.1&lt;br /&gt;
dns1=123.123.123.123&lt;br /&gt;
dns2=123.123.123.124&lt;br /&gt;
ip_retea=192.168.0.1&lt;br /&gt;
netmask_retea=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
#configurarea net-ului&lt;br /&gt;
/sbin/ifconfig $placa_net $ip_net netmask $netmask_net &lt;br /&gt;
/sbin/route add default gw $gateway_net metric 1&lt;br /&gt;
echo &amp;quot;$dns1&amp;quot;&amp;gt;/etc/resolv.conf&lt;br /&gt;
echo &amp;quot;$dns2&amp;quot;&amp;gt;&amp;gt;/etc/resolv.conf&lt;br /&gt;
#configurarea retelei&lt;br /&gt;
/sbin/ifconfig $placa_retea netmask $netmask_retea&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configurarea SNAT-ului==&lt;br /&gt;
Scriptul urmator se va salva ca &amp;lt;tt&amp;gt;snat.sh&amp;lt;/tt&amp;gt;&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
clasa_retea=192.168.0.0&lt;br /&gt;
iptables=/usr/sbin/iptables&lt;br /&gt;
&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
$iptables -t nat -F&lt;br /&gt;
$iptables -F FORWARD&lt;br /&gt;
$iptables -P FORWARD DROP&lt;br /&gt;
$iptables -t nat -A POSTROUTING -o $placa_net -j MASQUERADE&lt;br /&gt;
$iptables -A FORWARD -i $placa_retea -j ACCEPT&lt;br /&gt;
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Final==&lt;br /&gt;
Asa acum ca avem cele 2 scripturi urmeaza sa le facem executabile si sa le punem sa porneasca la boot-are.&lt;br /&gt;
Pentru a le face executabile vom da comenzile:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;# chmod +x net.sh&lt;br /&gt;
# chmod +x snat.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;quot;#&amp;quot; simbolizeaza prompt-ul de root.&lt;br /&gt;
Urmatorul pas este adaugarea lor in scriptul rc.local care il gasiti fie in /etc/rc.d fie in /etc/init.d sau in locul indicat de manualul distributiei.&lt;br /&gt;
&lt;br /&gt;
Iar acum suntem in posesia unui server de linux care stie sa si &amp;quot;dea&amp;quot; net-ul mai departe. Si cum stiu ca sunteti niste admini responsabili, va apucati sa cititi mai multe despre &amp;lt;tt&amp;gt;[[Iptables_romana|iptables]]&amp;lt;/tt&amp;gt;, si cum se securizeaza acest server, si ce servicii le mai puteti &lt;br /&gt;
oferi clientilor.&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Routing]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=3431</id>
		<title>Cum dau net mai departe</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=3431"/>
				<updated>2007-04-04T11:59:56Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Configurarea Serverului */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scopul Ghidului==&lt;br /&gt;
Setarea unui server de internet folosind SNAT&lt;br /&gt;
&lt;br /&gt;
==Configurarea Serverului==&lt;br /&gt;
Mai intai configuram net-ul pentru server. In functie de distributie sunt utilitare care fac acest lucru automat.&lt;br /&gt;
Asa cum bine stim (sau ar trebui) majoritatea fisierelor de configurare a unui SO linux se gasesc in directorul /etc , iar scripturile&lt;br /&gt;
de inceput in /etc/rc.d pe sistemele ce folosesc sistemul BSD iar pe celelalte in /etc/init.d/ . Pentru a afla cum sa setezi net-ul pentru distributia ta consulta manualul respectivei distributii.&lt;br /&gt;
Setarea manuala a retelei (valabila pentru toate distributiile) se face cu urmatoarele comenzi (presupunand ca suportul necesar pentru&lt;br /&gt;
placile de retea se afla in kernel sau modulele aferente sunt incarcate):&lt;br /&gt;
Scriptul urmator se va salva ca &amp;lt;tt&amp;gt;net.sh&amp;lt;/tt&amp;gt;&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
ip_net=10.0.23.32&lt;br /&gt;
netmask_net=255.255.0.0&lt;br /&gt;
gateway_net=10.0.0.1&lt;br /&gt;
dns1=123.123.123.123&lt;br /&gt;
dns2=123.123.123.124&lt;br /&gt;
ip_retea=192.168.0.1&lt;br /&gt;
netmask_retea=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
#configurarea net-ului&lt;br /&gt;
/sbin/ifconfig $placa_net $ip_net netmask $netmask_net &lt;br /&gt;
/sbin/route add default gw $gateway_net metric 1&lt;br /&gt;
echo &amp;quot;$dns1&amp;quot;&amp;gt;/etc/resolv.conf&lt;br /&gt;
echo &amp;quot;$dns2&amp;quot;&amp;gt;&amp;gt;/etc/resolv.conf&lt;br /&gt;
#configurarea retelei&lt;br /&gt;
/sbin/ifconfig $placa_retea netmask $netmask_retea&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configurarea SNAT-ului==&lt;br /&gt;
Scriptul urmator se va salva ca &amp;lt;tt&amp;gt;snat.sh&amp;lt;/tt&amp;gt;&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
clasa_retea=192.168.0.0&lt;br /&gt;
iptables=/usr/sbin/iptables&lt;br /&gt;
&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
$iptables -t nat -F&lt;br /&gt;
$iptables -F FORWARD&lt;br /&gt;
$iptables -P FORWARD DROP&lt;br /&gt;
$iptables -t nat -A POSTROUTING -o $placa_net -j MASQUERADE&lt;br /&gt;
$iptables -A FORWARD -i $placa_retea -j ACCEPT&lt;br /&gt;
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Final==&lt;br /&gt;
Asa acum ca avem cele 2 scripturi urmeaza sa le facem executabile si sa le punem sa porneasca la boot-are.&lt;br /&gt;
Pentru a le face executabile vom da comenzile:&amp;lt;code&amp;gt;&amp;lt;sh/&amp;gt;# chmod +x net.sh&lt;br /&gt;
# chmod +x snat.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;quot;#&amp;quot; simbolizeaza prompt-ul de root.&lt;br /&gt;
Urmatorul pas este adaugarea lor in scriptul rc.local care il gasiti fie in /etc/rc.d fie in /etc/init.d sau in locul indicat de manualul distributiei.&lt;br /&gt;
&lt;br /&gt;
Iar acum suntem in posesia unui server de linux care stie sa si &amp;quot;dea&amp;quot; net-ul mai departe. Si cum stiu ca sunteti niste admini responsabili, va apucati sa cititi mai multe despre &amp;lt;tt&amp;gt;[[Iptables_romana|iptables]]&amp;lt;/tt&amp;gt;, si cum se securizeaza acest server, si ce servicii le mai puteti &lt;br /&gt;
oferi clientilor.&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:Networking]]&lt;br /&gt;
[[Category:Routing]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2782</id>
		<title>Scripturi BASH</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2782"/>
				<updated>2006-08-21T12:17:41Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* = Gasirea fisierelor duplicate intr-un director */&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;
[[Category:Collection]]&lt;br /&gt;
[[Category:Programming]]&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;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2781</id>
		<title>Scripturi BASH</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Scripturi_BASH&amp;diff=2781"/>
				<updated>2006-08-21T12:14:29Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Probleme cu spatiul pe disc? */&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;
[[Category:Collection]]&lt;br /&gt;
[[Category:Programming]]&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|cut -f3- -d' '|sed 's/^$/Fisiere identice:/'&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=2768</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=2768"/>
				<updated>2006-07-10T04:26:33Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &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;
** [[Comunica prin lpt|Controlul motoarelor pas cu pas prin portul paralel]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Ce este GNU/Linux? / Cum invat Linux?]] ([[:Category:FAQ|Intrebări puse frecvent]])&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;
** [[Instalare Qemu|Instalarea emulatorului Qemu]] ([[:Category:VMs|maşini virtuale]])&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;
** [[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;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=MRTG_cu_IPFM&amp;diff=2642</id>
		<title>MRTG cu IPFM</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=MRTG_cu_IPFM&amp;diff=2642"/>
				<updated>2006-05-08T16:07:49Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Se ia urmatorul script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Se configureaza ipfm dupa preferinta==&lt;br /&gt;
==Se ia urmatorul script==&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 HOST=$1&lt;br /&gt;
 D=`/bin/date +%Y-%m-%d`&lt;br /&gt;
 # Incoming&lt;br /&gt;
 inc=`cat /var/log/ipfm/ipfm-global-$D.log | /bin/grep &amp;quot;$HOST &amp;quot;| /bin/gawk '{print $2}'`&lt;br /&gt;
 if [ -n &amp;quot;$inc&amp;quot; ]; then echo $inc ;&lt;br /&gt;
 else&lt;br /&gt;
 echo &amp;quot;0&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 # Outgoing&lt;br /&gt;
 out=`cat /var/log/ipfm/ipfm-global-$D.log | /bin/grep &amp;quot;$HOST &amp;quot;| /bin/gawk '{print $3}'`&lt;br /&gt;
 if [ -n &amp;quot;$out&amp;quot; ]; then echo $out ;&lt;br /&gt;
 else&lt;br /&gt;
 echo &amp;quot;0&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
'''Atentie''': Logurile generate de ipfm trebuie sa fie de forma &amp;lt;tt&amp;gt;ipfm-global-%Y-%m-%d.log&amp;lt;/tt&amp;gt;. Acest script il vom denumi &amp;lt;tt&amp;gt;script.pl&amp;lt;/tt&amp;gt; si il vom face executabil cu comanda &amp;lt;tt&amp;gt;chmod +x&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==mrtg.conf trebuie sa fie de forma==&lt;br /&gt;
 Target[84.232.130.xx]: `/etc/mrtg/script.pl 84.232.130.xx`&lt;br /&gt;
 MaxBytes[84.232.130.xx]: 1638400&lt;br /&gt;
 AbsMax[84.232.130.xx]: 12500000&lt;br /&gt;
 Title[84.232.130.xx]: Statistica trafic pe calculatorul lui Apocalipt&lt;br /&gt;
 PageTop[84.232.130.xx]: &amp;lt;nowiki&amp;gt;&amp;lt;H1&amp;gt;Statistica trafic pe calculatorul lui Apocalipt&amp;lt;/H1&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Options[84.232.130.xx]: growright&lt;br /&gt;
Daca ai configurat si apache si vrei sa vezi aceste grafice de pe internet dai &lt;br /&gt;
 /usr/bin/indexmaker --output=/var/www/mrtg/index.html /etc/mrtg/mrtg.cfg&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Un mic script care sa genereze automat config-ul pentru o clasa de ip-uri ar putea fi de forma:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;# Fisier de configurare MRTG generat automat -- NU editati&amp;quot;&lt;br /&gt;
echo &amp;quot;# intru-cat schimbarile se vor pierde la urmatoarea rulare!&amp;quot;&lt;br /&gt;
echo&lt;br /&gt;
echo &amp;quot;WorkDir: /var/www/mrtg/&amp;quot;&lt;br /&gt;
echo&lt;br /&gt;
for (( i=1; i&amp;lt;256; i++ )); do&lt;br /&gt;
 echo &amp;quot;Target[192.168.0.$i]: \`/etc/mrtg/script.pl 192.168.0.$i\`&amp;quot;&lt;br /&gt;
 echo &amp;quot;MaxBytes[192.168.0.$i]: 1638400&amp;quot;&lt;br /&gt;
 echo &amp;quot;AbsMax[192.168.0.$i]: 12500000&amp;quot;&lt;br /&gt;
 echo &amp;quot;Title[192.168.0.$i]: Statistica trafic pentru ip-ul 192.168.0.$i&amp;quot;&lt;br /&gt;
 echo &amp;quot;PageTop[192.168.0.$i]: &amp;lt;H1&amp;gt;Statistica trafic pentru 192.168.0.$i&amp;lt;/H1&amp;gt;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Options[192.168.0.$i]: growright&amp;quot;&lt;br /&gt;
 echo&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:WebStats]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2524</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=2524"/>
				<updated>2006-04-17T20:56:27Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Ce sunt dependintele si cum utilizez un manager de pachete? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, iar pe platformele desktop fiind utilizat cu precadere Microsoft Windows, vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni pe care le cunosteati deja.&lt;br /&gt;
&lt;br /&gt;
Daca doriti sa aflati corespondentele unor programe de pe Windows pe Linux (sau invers) puteti consulta articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
== GNU/Linux ''versus'' programele cu sursa inchisa ==&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care sunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai poutea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite intructiuni. 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;
&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 compilez un program? ==== &lt;br /&gt;
''a.k.a. Cum instalez din surse un program / o aplicatie?''&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Explicatie pe scurt cum se compileaza propriul program si ce este un Makefile (si cum se poate folosi).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum utilizez '''tar'''? (arhivare/dezarhivare) =====&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.&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 poate face astfel:&lt;br /&gt;
&lt;br /&gt;
* pentru o arhiva numita ''ceva.tar'' dam comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar -xvf ceva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva numita ''ceva.tar.gz'' dam comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar -zxvf ceva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva numita ''ceva.tar.bz2'' dam comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar -jxvf ceva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea se face astfel:&lt;br /&gt;
&lt;br /&gt;
Presupunem ca avem directorul tralala in /home si vrem sa il arhivam.&lt;br /&gt;
&lt;br /&gt;
* pentru o arhiva numita ''ceva.tar'' dam comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar -cvf ceva.tar /home/tralala &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva numita ''ceva.tar.gz'' dam comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar -czvf ceva.tar.gz /home/tralala &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva numita ''ceva.tar.bz2'' dam comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar -cjvf ceva.tar.bz2 /home/tralala &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. Pentru a afla ce inseamna aceste comenzi - '''man tar'''.&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
Pentru o lista a tuturor distributiilor vedeti http://distrowatch.com. Din lista distributiilor cele mai cunoscute, amintim: [http://www.slackware.org/ Slackware Linux], [http://fedoraproject.org/wiki/ Fedora Core] (fosta RedHat dupa cum spune [http://fedora.redhat.com/ link-ul]), [http://wwwnew.mandriva.com/ Mandriva] (fosta Mandrake), [http://www.novell.com/linux/ Suse Linux], [http://www.debian.org/ Debian], [http://www.ubuntu.com/ Ubuntu] (proiect bazat pe Debian), si ultima, dar nu in ultimul rand [http://www.gentoo.org/ Gentoo].&lt;br /&gt;
&lt;br /&gt;
''Nota pentru potentiali editori: Toate link-urile au fost luate din [http://www.google.ro/ Google]. In cazul in care am uitat ceva, sau vreun link nu este reprezentativ, va rog sa completati/modificati.''&lt;br /&gt;
&lt;br /&gt;
'''Pentru incepatori''' cu precadere, recomand o distributie boot-abila (Live CD), pe numele ei [http://www.knoppix.net/ Knoppix]. &lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi rulata direct de pe CD, respectiv DVD, fara a instala nimic pe hard-disk, programele sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistmului vostru (suportate de Linux evident)&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* troubleshooting. &lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o astfel de distributie? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Dati 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 un topic mai avansat insa si este bine 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;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' - '''[FIXME]'''.&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; emerge &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru nevoi mai avansate '''man rpm'''.&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;
&lt;br /&gt;
&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: '''slapt-get'''. Pagina oficiala este http://directory.fsf.org/slapt-get.html.&lt;br /&gt;
** Pentru creearea 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;&lt;br /&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&lt;br /&gt;
   &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru nevoi mai avansate '''man dpkg''' sau '''man dselect'''.&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''. Recomandam sa dati comanda '''man apt-get'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin&lt;br /&gt;
/boot&lt;br /&gt;
/dev&lt;br /&gt;
/home&lt;br /&gt;
/lib&lt;br /&gt;
/mnt (optional)&lt;br /&gt;
/opt&lt;br /&gt;
/proc&lt;br /&gt;
/root&lt;br /&gt;
/usr&lt;br /&gt;
/sbin&lt;br /&gt;
/tmp&lt;br /&gt;
/var&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat cu explicatii.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&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&lt;br /&gt;
&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;
==== 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, df, du, tar, more, less, ps, kill, killall'''&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, pueti 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 cobinatia '''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 simultana a tastelor '''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:&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/LDP/abs/html&lt;br /&gt;
&lt;br /&gt;
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;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] si va va raspunde la acesta intrebare si 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 chair de noi anterior.&lt;br /&gt;
&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;
&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;
&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;
&lt;br /&gt;
&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 sa 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;
Pentru accesul read-only de sub Linux exista implementare direct in kernel. pentru acces de scriere, este mai complicat. Se poate scrie cu modulul(driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatoul meu? ===&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Module (echivalentul driver-elor) ====&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
==== Debian ====&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
==== Suse ====&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [http://wiki.linux360.ro/wiki/ATi_video_%282.6%29 ATI video (2.6)]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&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;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Va urma in decursul zilei de azi, maine, poimaine :-)'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Ce_este_GNU/Linux%3F_/_Cum_invat_Linux%3F&amp;diff=2523</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=2523"/>
				<updated>2006-04-17T20:55:13Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Ce sunt dependintele si cum utilizez un manager de pachete? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducere ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce este GNU/Linux? Cum invat Linux? De unde incep? Cum fac sa...? Ce inseamna...? Cum ma pot ajuta singur in a invata Linux? &lt;br /&gt;
&lt;br /&gt;
Acestea sunt doar cateva din intrebarile pe care un utilizator nou de Linux si le pune in momentul in care incearca sa afle ceva nou, sa invete sa utilizeze si poate chiar sa administreze un astfel de sistem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopul acestui articol este sa raspunda la aceste intrebari, in special la cele care contin notiuni de baza si in general se va urmari sa cuprinda informatiile necesare pentru a intelege despre ce este vorba si cum interactionam cu un sistem GNU/Linux. Subiectele mai avansate vor fi lasate pentru discutie in cadrul forumului sau in cadrul altor articole deoarece depasesc scopul acestuia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linux si Windows'''&lt;br /&gt;
&lt;br /&gt;
Vom presupune ca un utilizator are o oarecare experienta cu un sistem de operare, iar pe platformele desktop fiind utilizat cu precadere Microsoft Windows, vom incerca sa facem pe alocuri o mica comparatie pentru a vedea care sunt corespondentele anumitor notiuni pe care le cunosteati deja.&lt;br /&gt;
&lt;br /&gt;
Daca doriti sa aflati corespondentele unor programe de pe Windows pe Linux (sau invers) puteti consulta articolul [[Echivalentele_Linux_ale_programelor_Windows | Echivalentele Linux ale programelor Windows]].&lt;br /&gt;
&lt;br /&gt;
== GNU/Linux ''versus'' programele cu sursa inchisa ==&lt;br /&gt;
&lt;br /&gt;
=== O digresiune naiva despre contextul in care a aparut Linux ===&lt;br /&gt;
&lt;br /&gt;
''Nota: Cei care sunosc deja aceste notiuni, sau care doresc sa afle mai multe despre partea practica a notiunilor introductive pot sari peste acesta sectiune.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ce sunt sistemele libere? ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un sistem de operare liber este alcatuit din programe ale caror sursa este disponibila. Oricine o poate vedea si modifica daca simte ca are ceva de adaugat sau de reparat, conditia fiind sa le spuna si celorlalti despre modificarile sale astfel incat sa existe o munca de colaborare in dezvoltarea unui astfel de sistem. De altfel, fara colaborare nu s-ar fi ajuns aici.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Licenta sub care se desfasoara acesta activitate pe Linux este, in general, [http://www.gnu.org/copyleft/gpl.html GPL] alcatuita de Richard Stallman, coordonatorul proiectului GNU si al Free Software Foundation. Mai multe despre GPL, filosofia care sta in spatele acestor programe si binecunoscutul slogan '''Free as in Freedom''' aflati pe http://www.fsf.org si pe http://www.gnu.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La un moment dat in istoria tehnologiei informatiei s-a pus problema ca produsele software ar trebui sa se supuna acelorasi legi comerciale ca oricare alt produs, motiv pentru care a aparut si necesitatea de a ascunde ceea ce sta in spatele muncii sale, pentru a nu putea fi reprodus sau preluat/modificat de altcineva. Ca un raspuns la aceasta miscare a aparut GNU, o echipa de programatori care au creat din placere o suita de programe care sa le inlocuiasca pe cele care incepusera sau devenisera deja '''proprietare''' si asupra caroara ei nu mai poutea lucra independent sa le imbunatateasca. Insa acesta suita de programe avea nevoie de un ''coordonator'', de un supra-program care sa impuna niste reguli de functionare, sa dea voie anumitor operatii la un moment dat, sa restrictioneze altele, in fine, avea nevoie de un [http://www.kernel.org/ kernel]. Acest kernel a fost creat de Linus Torvalds si a fost numit '''Linux''', motiv pentru care toate sistemele Linux actuale poarte acesta denumire.&lt;br /&gt;
&lt;br /&gt;
Insa corect este sa spunem sistem '''GNU/Linux''' deoarece in jurul acestor doua proiecte s-a dezvoltat ceea ce numim noi azi un sistem Linux.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un program? ====&lt;br /&gt;
&lt;br /&gt;
La modul cel mai intuitiv, un program este un fisier text scris intr-un limbaj de programare care specifica anumite intructiuni. 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;
&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 compilez un program? ==== &lt;br /&gt;
''a.k.a. Cum instalez din surse un program / o aplicatie?''&lt;br /&gt;
&lt;br /&gt;
Pentru a efectua o instalare corecta se recomanda citirea documentelor referitoare la instalare din arhiva care contine sursele. De regula, un README si un INSTALL ar trebui sa va lamureasca. Apoi dati comenzile urmatoare, pe rand si programul va fi compilat si instalat conform unor optiuni specificate in fisierul Makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; ./configure&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nota: Daca doriti sa schimbati optiunile de compilare default (ceea ce se si recomanda), dati comanda '''./configure --help''' sa vedeti o lista a optiunilor pe care le aveti la dispozitie. Aceste optiuni variaza de la program la program. Evident, in argumentele pe care le veti da lui '''./configure''' veti avea o instalare cat mai aproape de ceea ce vreti.''&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' Explicatie pe scurt cum se compileaza propriul program si ce este un Makefile (si cum se poate folosi).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Cum utilizez '''tar'''? (arhivare/dezarhivare) =====&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.&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 poate face astfel:&lt;br /&gt;
&lt;br /&gt;
* pentru o arhiva numita ''ceva.tar'' dam comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar -xvf ceva.tar &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva numita ''ceva.tar.gz'' dam comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar -zxvf ceva.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva numita ''ceva.tar.bz2'' dam comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar -jxvf ceva.tar.bz2 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arhivarea se face astfel:&lt;br /&gt;
&lt;br /&gt;
Presupunem ca avem directorul tralala in /home si vrem sa il arhivam.&lt;br /&gt;
&lt;br /&gt;
* pentru o arhiva numita ''ceva.tar'' dam comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar -cvf ceva.tar /home/tralala &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva numita ''ceva.tar.gz'' dam comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar -czvf ceva.tar.gz /home/tralala &amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru o arhiva numita ''ceva.tar.bz2'' dam comanda: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; tar -cjvf ceva.tar.bz2 /home/tralala &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. Pentru a afla ce inseamna aceste comenzi - '''man tar'''.&lt;br /&gt;
&lt;br /&gt;
=== Ce este o distributie Linux? ===&lt;br /&gt;
&lt;br /&gt;
O colectie de programe cu sursa deschisa adunate sub aceeasi capota, structurate astfel incat sa indeplineasca un anume scop (sau chiar mai multe simultan), cum ar fi: server web, server de mail, desktop computer, workstation etc. Desigur, o distributie contine obligatoriu utilitarele de baza de la GNU si kernelul Linux pentru a functiona corect. Structurarea programelor poate include chiar modificarea si gruparea lor in functie de scopurile pe care le indeplinesc, astfel creandu-se '''pachetele'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dintre calitatile unei distributii notam:'''&lt;br /&gt;
&lt;br /&gt;
* Are un installer pentru instalare facila.&lt;br /&gt;
* Are utilitarele de baza GNU si kernelul Linux.&lt;br /&gt;
* Are o structura de directoare specifica oricarui sistem UNIX.&lt;br /&gt;
* Are suport pentru mai multe tipuri de sisteme de fisiere.&lt;br /&gt;
* Are un manager de pachete, astfel incat sa se poata adauga, sterge, actualiza (upgrade) si mentine o lista a pachetelor instalate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Care este cea mai buna distributie? ===&lt;br /&gt;
&lt;br /&gt;
Nu exista o ''cea mai buna distributie''. Daca doriti sa invatati Linux exista unele cu interfete ceva mai intuitive, insa diferentele sunt doar de gust. Ceea ce va trebuie cel mai mult este rabdare si perseverenta, deoarece nici o distributie nu este inabordabila. Incercati si vedeti singuri care vi se potriveste.&lt;br /&gt;
&lt;br /&gt;
Pentru o lista a tuturor distributiilor vedeti http://distrowatch.com. Din lista distributiilor cele mai cunoscute, amintim: [http://www.slackware.org/ Slackware Linux], [http://fedoraproject.org/wiki/ Fedora Core] (fosta RedHat dupa cum spune [http://fedora.redhat.com/ link-ul]), [http://wwwnew.mandriva.com/ Mandriva] (fosta Mandrake), [http://www.novell.com/linux/ Suse Linux], [http://www.debian.org/ Debian], [http://www.ubuntu.com/ Ubuntu] (proiect bazat pe Debian), si ultima, dar nu in ultimul rand [http://www.gentoo.org/ Gentoo].&lt;br /&gt;
&lt;br /&gt;
''Nota pentru potentiali editori: Toate link-urile au fost luate din [http://www.google.ro/ Google]. In cazul in care am uitat ceva, sau vreun link nu este reprezentativ, va rog sa completati/modificati.''&lt;br /&gt;
&lt;br /&gt;
'''Pentru incepatori''' cu precadere, recomand o distributie boot-abila (Live CD), pe numele ei [http://www.knoppix.net/ Knoppix]. &lt;br /&gt;
&lt;br /&gt;
==== Ce este o distributie boot-abila? ==== &lt;br /&gt;
&lt;br /&gt;
Una care poate fi rulata direct de pe CD, respectiv DVD, fara a instala nimic pe hard-disk, programele sistemul de fisiere incarcandu-se in RAM. &lt;br /&gt;
&lt;br /&gt;
'''Utilizari frecvente:''' &lt;br /&gt;
&lt;br /&gt;
* identificarea componentelor hardware ale sistmului vostru (suportate de Linux evident)&lt;br /&gt;
* testarea unui calculator la achizitionare fara a instala nimic&lt;br /&gt;
* troubleshooting. &lt;br /&gt;
&lt;br /&gt;
==== De ce as alege o astfel de distributie? ====&lt;br /&gt;
&lt;br /&gt;
Deoarece nu trebuie sa instalati nimic pe hard-disk pentru a va &amp;quot;juca&amp;quot; un pic cu comezile de baza si pentru a va familiariza cu noul mediu de lucru si in general, cu setarile standard, nu puteti face prea multe trasnai :-). &lt;br /&gt;
&lt;br /&gt;
Mai apoi probabil ca veti dori ceva instalat totusi, pentru a va ramane salvate setarile pe care le faceti si pentru a putea rula aplicatiile cu o viteza mai mare, deoarece in momentul in care incarca de pe CD, nu ruleaza foarte rapid.&lt;br /&gt;
&lt;br /&gt;
==== Se poate instala Knoppix pe hard-disk? ====&lt;br /&gt;
&lt;br /&gt;
Desigur. Dati 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 un topic mai avansat insa si este bine 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;
==== Cum instalez un program / o aplicatie sub forma de pachet? ====&lt;br /&gt;
&lt;br /&gt;
Acest lucru este dependent de distributia pe care o folositi. Daca sunteti incepator, se recomanda sa utilizati un manager de pachete in modul grafic.&lt;br /&gt;
&lt;br /&gt;
Daca vreti sa stiti mai multe, cititi in continuare. Dupa cum povesteam mai devreme programele au fost luate de dezvoltatorii distributiilor si puse in pachete pentru a fi grupate mai bine. Da, asta inseamna ca un program original se poate intinde pe mai multe pachete, respectiv poate fi grupat cu mai multe programe inainte de a forma un pachet.&lt;br /&gt;
&lt;br /&gt;
De asemenea, apare o noua notiune, si anume aceea de ''dependinte''. &lt;br /&gt;
&lt;br /&gt;
===== Ce sunt dependintele si cum utilizez un manager de pachete? ===== &lt;br /&gt;
&lt;br /&gt;
Dependintele sunt programe/pachete/biblioteci de care depind alte programe pe care vreti voi sa le instalati. Fiind vorba de un sistem cu surse libere (sub licenta GPL sau compatibila) un dezvoltator nu trebuie sa scrie ''totul'' de la capat pentru a realiza un program functional. El se poate baza pe anumite programe/biblioteci introduse de altcineva pentru a-si realiza scopul. Motiv pentru care s-ar putea sa va treziti la un moment dat ca doriti sa instalati ceva si vi se refuza acest drept pe motiv ca ii lipseste o componenta necesara bunei functionari, altfel spus, o dependinta.&lt;br /&gt;
&lt;br /&gt;
De aceea au si aparut de fapt programele numite &amp;quot;manager de pachete&amp;quot;, pentru a rezolva aceste dependinte fara sa trebuiasca utilizatorul sa le caute si sa le instalaze manual. De fapt, fiecare distributie are un manager de pachete bine pus la punct, altfel nu  ar fi ajuns la stadiul actual, tinand cont ca o distributie majora poate avea mii de pachete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Pentru '''Gentoo''' - '''[FIXME]'''.&lt;br /&gt;
&amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; emerge &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''RedHat''' (acum numai pentru mediul Enterprise), '''Fedora Core''', '''Mandriva''' si '''Suse''' se bazeaza la nivelul cel mai de jos pe pachete in format '''rpm'''. Comenzi utile pentru a lucra cu ele:&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -i nume_pachet.rpm &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; rpm -e nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru nevoi mai avansate '''man rpm'''.&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;
&lt;br /&gt;
&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: '''slapt-get'''. Pagina oficiala este http://directory.fsf.org/slapt-get.html.&lt;br /&gt;
** Pentru creearea unui pachet din surse (exceptie unele programe gen php) se procedeaza astfel: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt;&lt;br /&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&lt;br /&gt;
   &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Distributii precum '''Debian''' si '''Ubuntu''' se bazeaza pe pachete in format '''deb'''.&lt;br /&gt;
** Pentru instalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -i nume_pachet.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru dezinstalarea unui pachet: &amp;lt;code&amp;gt; &amp;lt;sh/&amp;gt; dpkg -r nume_pachet &amp;lt;/code&amp;gt;&lt;br /&gt;
** Pentru nevoi mai avansate '''man dpkg''' sau '''man dselect'''.&lt;br /&gt;
** Manager(e) de pachete: '''apt-get''', '''aptitude''', '''Synaptic'''. Recomandam sa dati comanda '''man apt-get'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ceea ce trebuie sa retinem este faptul ca un manager de pachete avansat (in stare sa rezolve dependintele si sa instaleze pachetele astfel incat sa nu intre in conflict), trebuie sa si ''stie'' de unde sa ia pachetele. De cele mai multe ori, le setam special pentru a lua de pe site-uri mirror din Romania pachetele de care avem nevoie.&lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru '''Debian''', avem de adaugat mirror-urile pe care le preferam in '''/etc/apt/sources.list'''.&lt;br /&gt;
&lt;br /&gt;
Dar am tot vorbit de mirror si nu am spus ce este. Bineinteles, exista o locatie oficiala a unei distributii, insa pentru a nu impovara prea tare acel site se creeaza ceea ce noi numim &amp;quot;o oglinda&amp;quot; a locatiei initiale, copiind toate datele pe un server din reteaua metropolitana, cu permisiunea dezvoltatorilor originali desigur. Fiind mai aproape de noi, iar unii beneficiand de o viteza mai buna in Romania decat extern, se prefera de regula un mirror &amp;quot;local&amp;quot; decat unul extern.&lt;br /&gt;
&lt;br /&gt;
==== Ce semnificatie au fisierele si structura de directoare? ====&lt;br /&gt;
&lt;br /&gt;
Dupa cum ati observat deja, la structura de directoare deja diferentele sunt notabile. In primul rand, ca totul in sistemul Linux este un fisier. Absolut totul. Directoarele sunt doar cazuri speciale de fisiere. Dispozitivele (devices) sunt tot fisiere.&lt;br /&gt;
&lt;br /&gt;
Programele asa cum le stim de pe Windows nu mai au extensie. Nici nu au nevoie, deoarece tipul de fisier este stocat chiar in el. Daca vrem neaparat, putem crea / denumi un fisier Eseu.txt, dar asta nu inseamna ceva anume, ci doar pentru noi sa il recunoastem mai usor eventual.&lt;br /&gt;
&lt;br /&gt;
Structura de directoare iar este speciala. Spre deosebire de Windows, calea unui fisier/director se specifica cu '''&amp;quot;/&amp;quot;''' si nu cu '''&amp;quot;\&amp;quot;'''. De fapt, asa a fost de cand lumea si pamantul in lumea tehnologiei informatiei, Windows este de fapt cel care face exceptie de la regula :-). De asemenea, nu mai exista separatiile cu care eram obisnuiti, aici fiind impartit tortul mai cerebral, insa mai putin intuitiv pentru necunoscatori. Poate sa va surprinda, dar un pachet de cele mai multe ori nu se instaleaza in acelasi director, ci se mai imparte in mai multe felii, depinzand de functiile lui.&lt;br /&gt;
&lt;br /&gt;
Iata cum trebuie gandita situatia:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/bin&lt;br /&gt;
/boot&lt;br /&gt;
/dev&lt;br /&gt;
/home&lt;br /&gt;
/lib&lt;br /&gt;
/mnt (optional)&lt;br /&gt;
/opt&lt;br /&gt;
/proc&lt;br /&gt;
/root&lt;br /&gt;
/usr&lt;br /&gt;
/sbin&lt;br /&gt;
/tmp&lt;br /&gt;
/var&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]''' De continuat cu explicatii.&lt;br /&gt;
&lt;br /&gt;
=== Comenzi si practici de baza ===&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&lt;br /&gt;
&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;
==== 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, df, du, tar, more, less, ps, kill, killall'''&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, pueti 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 cobinatia '''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 simultana a tastelor '''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:&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/LDP/abs/html&lt;br /&gt;
&lt;br /&gt;
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;
=== Cum vede Linux hard-disk-ul meu? (Partitionare) ===&lt;br /&gt;
&lt;br /&gt;
Pentru a va lamuri mai bine, cititi articolul [[Parti%C5%A3ii | Partitii]] si va va raspunde la acesta intrebare si 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 chair de noi anterior.&lt;br /&gt;
&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;
&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;
&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;
&lt;br /&gt;
&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 sa 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;
Pentru accesul read-only de sub Linux exista implementare direct in kernel. pentru acces de scriere, este mai complicat. Se poate scrie cu modulul(driverul) clasic, dar numai in cazuri speciale. Proiectul [http://www.jankratochvil.net/project/captive/ Captive NTFS] este ceea ce cautati, dar din nou atentie sa nu va busiti partitia. Acesta foloseste driverul original ntfs de la Microsoft emuland subsistemele necesare, similar cu Wine.&lt;br /&gt;
&lt;br /&gt;
==== Ce este un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
Un program care ruleaza in momentul in care porneste calculatorul vostru. El este responsabil cu incarcarea si transferarea controlului catre un sistem de operare (in principal kernelul sau) sau catre boot-loader-ul altui sistem de operare (operatie numita chain-load).&lt;br /&gt;
&lt;br /&gt;
La ora actuala, cel mai popular si mai puternic boot loader in lumea Linux pare sa fie [http://www.gnu.org/software/grub/ GRUB] acum dezvoltat de echipa GNU. Personal, eu am folosit o varianta compilata de GRUB sa incarce mai multe sisteme de operare incapatanate (care voiau doar o anumita ordine de instalare), cum ar fi diverse versiuni de Windows, fara a avea la dispozitie nici o partitie Linux.&lt;br /&gt;
&lt;br /&gt;
Mai multe, in ceea ce urmeaza.&lt;br /&gt;
&lt;br /&gt;
==== Cum configurez un boot-loader? ====&lt;br /&gt;
&lt;br /&gt;
===== GRUB =====&lt;br /&gt;
&lt;br /&gt;
===== LILO =====&lt;br /&gt;
&lt;br /&gt;
'''[FIXME]'''&lt;br /&gt;
&lt;br /&gt;
=== Cum vede Linux celelalte dispozitive din calculatoul meu? ===&lt;br /&gt;
&lt;br /&gt;
=== Kernelul Linux ===&lt;br /&gt;
&lt;br /&gt;
==== Module (echivalentul driver-elor) ====&lt;br /&gt;
&lt;br /&gt;
==== Recompilarea kernelului ====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.4 =====&lt;br /&gt;
&lt;br /&gt;
===== linux 2.6 =====&lt;br /&gt;
&lt;br /&gt;
=== Instalarea unei distributii (pe scurt) ===&lt;br /&gt;
&lt;br /&gt;
==== Slackware ====&lt;br /&gt;
==== Debian ====&lt;br /&gt;
==== Ubuntu ====&lt;br /&gt;
==== Fedora Core ====&lt;br /&gt;
==== Mandriva ====&lt;br /&gt;
==== Suse ====&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
&lt;br /&gt;
=== Imblanzirea unei distributii (sau cum fac customize) ===&lt;br /&gt;
&lt;br /&gt;
==== Initializarea sistemului ====&lt;br /&gt;
&lt;br /&gt;
===== /etc =====&lt;br /&gt;
====== /etc/inittab ======&lt;br /&gt;
====== /etc/fstab ======&lt;br /&gt;
====== /etc/modules.conf ======&lt;br /&gt;
====== /etc/rc.d ======&lt;br /&gt;
====== SYS V init style ======&lt;br /&gt;
====== BSD init style ======&lt;br /&gt;
&lt;br /&gt;
==== Module (drivere) ====&lt;br /&gt;
&lt;br /&gt;
===== Placa grafica =====&lt;br /&gt;
&lt;br /&gt;
====== ATI ======&lt;br /&gt;
&lt;br /&gt;
Vedeti articolul [http://wiki.linux360.ro/wiki/ATi_video_%282.6%29 ATI video (2.6)]&lt;br /&gt;
&lt;br /&gt;
====== NVidia ======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configurarea serverului grafic X ====&lt;br /&gt;
&lt;br /&gt;
===== Desktop managers =====&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;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
'''Linux este marca înregistrata a lui Linus Torvalds. Microsoft Windows este marca înregistrata a Microsoft Corporation. Toate celelalte simboluri externe, referiri la alte produse software, respectiv marcile înregistrate din aceasta pagina, aparţin autorilor lor de drept.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Nota autorului: Va urma in decursul zilei de azi, maine, poimaine :-)'''&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Postfix_tls_mysql_dovecot&amp;diff=1951</id>
		<title>Postfix tls mysql dovecot</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Postfix_tls_mysql_dovecot&amp;diff=1951"/>
				<updated>2006-02-06T23:51:18Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Final */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scopul Ghidului==&lt;br /&gt;
Creearea unui mailserver cu ajutorul programelor postfix,mysql, dovecot si interfata de webmail squirrelmail. &lt;br /&gt;
In loc de clasicul cyrus saslauth o sa folosim dovecot-sasl, postfix-ul 2.3 are suport pentru acesta.&lt;br /&gt;
&lt;br /&gt;
==Nota==&lt;br /&gt;
Instalarea s-a facut pe o distributie Slackware 10.2 cu mysql instalat si apache. Acest ghid nu se va ocupa de instalarea serverului mysql si nici de configurarea si instalarea serverului de web apache. &lt;br /&gt;
In functie de distributia folosita unele comenzi necesita o mica modificare de cale (vezi mysql in configurarea postfix-ului).&lt;br /&gt;
&lt;br /&gt;
==Compilarea si instalarea programelor postfix si dovecot==&lt;br /&gt;
In momentul scrierii acestui ghid versiunile folosite au fost cele mai noi.&lt;br /&gt;
&lt;br /&gt;
Instalare postfix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://postfix.imar.ro/postfix-release/experimental/postfix-2.3-20060202.ta&lt;br /&gt;
r.gz&lt;br /&gt;
tar -zxf postfix-2.3-20060202.tar.gz&lt;br /&gt;
cd postfix-2.3-20060202&lt;br /&gt;
make tidy&lt;br /&gt;
make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -DUSE_TLS -I/usr/include/mys&lt;br /&gt;
ql -DUSE_SASL_AUTH -DDEF_SASL_SERVER=\&amp;quot;dovecot\&amp;quot;'  'AUXLIBS=-L/usr/lib/mysql -lm&lt;br /&gt;
ysqlclient -lz -lm -lssl -lcrypto'&lt;br /&gt;
make&lt;br /&gt;
useradd postfix&lt;br /&gt;
groupadd postdrop&lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instalare dovecot&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dovecot.org/releases/dovecot-1.0.beta2.tar.gz&lt;br /&gt;
tar -zxf dovecot-1.0.beta2.tar.gz&lt;br /&gt;
cd dovecot-1.0.beta2&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/dovecot --with-mysql&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Crearea unui certificat self-signed==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/postfix&lt;br /&gt;
mkdir ssl&lt;br /&gt;
cd ssl&lt;br /&gt;
openssl req -new -x509 -nodes -out smtpd.pem -keyout smtpd.pem -days 3650&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configurare postfix==&lt;br /&gt;
main.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
queue_directory = /var/spool/postfix&lt;br /&gt;
command_directory = /usr/sbin&lt;br /&gt;
daemon_directory = /usr/libexec/postfix&lt;br /&gt;
mail_owner = postfix&lt;br /&gt;
unknown_local_recipient_reject_code = 550&lt;br /&gt;
mynetworks_style = subnet&lt;br /&gt;
mailbox_command =&lt;br /&gt;
debug_peer_level = 2&lt;br /&gt;
debugger_command =&lt;br /&gt;
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin&lt;br /&gt;
         xxgdb $daemon_directory/$process_name $process_id &amp;amp; sleep 5&lt;br /&gt;
sendmail_path = /usr/sbin/sendmail&lt;br /&gt;
newaliases_path = /usr/bin/newaliases&lt;br /&gt;
mailq_path = /usr/bin/mailq&lt;br /&gt;
setgid_group = postdrop&lt;br /&gt;
html_directory = no&lt;br /&gt;
manpage_directory = /usr/man/&lt;br /&gt;
sample_directory = /etc/postfix&lt;br /&gt;
mynetworks = 127.0.0.0/8&lt;br /&gt;
readme_directory = no&lt;br /&gt;
myhostname = domeniu.ro&lt;br /&gt;
smtpd_sasl_local_domain =&lt;br /&gt;
smtpd_sasl_auth_enable = yes&lt;br /&gt;
smtpd_sasl_type = dovecot&lt;br /&gt;
smtpd_sasl_path = private/auth&lt;br /&gt;
smtpd_sasl_security_options = noanonymous&lt;br /&gt;
broken_sasl_auth_clients = yes&lt;br /&gt;
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,rejec&lt;br /&gt;
t_unauth_destination&lt;br /&gt;
inet_interfaces = all&lt;br /&gt;
transport_maps = mysql:/etc/postfix/mysql_virtual_transport.cf&lt;br /&gt;
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf&lt;br /&gt;
virtual_mailbox_base = /home/mails&lt;br /&gt;
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf&lt;br /&gt;
virtual_mailbox_limit = 51200000&lt;br /&gt;
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf&lt;br /&gt;
virtual_transport = virtual&lt;br /&gt;
virtual_uid_maps = mysql:/etc/postfix/uid.cf&lt;br /&gt;
virtual_gid_maps = mysql:/etc/postfix/gid.cf&lt;br /&gt;
virtual_create_maildirsize = yes&lt;br /&gt;
virtual_mailbox_extended = yes&lt;br /&gt;
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps&lt;br /&gt;
.cf&lt;br /&gt;
virtual_mailbox_limit_override = yes&lt;br /&gt;
virtual_maildir_limit_message = Sorry, the user's maildir has no space available&lt;br /&gt;
 in their inbox.&lt;br /&gt;
virtual_overquota_bounce = yes&lt;br /&gt;
relay_domains = mysql:/etc/postfix/mysql_relay_domains_maps.cf&lt;br /&gt;
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf&lt;br /&gt;
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf&lt;br /&gt;
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_limi&lt;br /&gt;
t_maps.cf&lt;br /&gt;
proxy_read_maps = $local_recipient_maps $virtual_alias_maps&lt;br /&gt;
  $virtual_alias_domains $virtual_mailbox_maps $mydestination $virtual_mailbox_d&lt;br /&gt;
omains&lt;br /&gt;
  $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps&lt;br /&gt;
  $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks&lt;br /&gt;
  $virtual_mailbox_limit_maps&lt;br /&gt;
smtpd_tls_auth_only = no&lt;br /&gt;
smtp_use_tls = yes&lt;br /&gt;
smtpd_use_tls = yes&lt;br /&gt;
smtpd_tls_note_starttls_offer = yes&lt;br /&gt;
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
smtpd_tls_loglevel = 1&lt;br /&gt;
smtpd_tls_received_header = yes&lt;br /&gt;
smtpd_tls_session_cache_timeout = 3600s&lt;br /&gt;
tls_random_source = dev:/dev/urandom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gid.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts=localhost&lt;br /&gt;
user=mailuser&lt;br /&gt;
password=mailpass&lt;br /&gt;
dbname=email&lt;br /&gt;
table=users&lt;br /&gt;
select_field=gid&lt;br /&gt;
where_field=userid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uid.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts=localhost&lt;br /&gt;
user=mailuser&lt;br /&gt;
password=mailpass&lt;br /&gt;
dbname=email&lt;br /&gt;
table=users&lt;br /&gt;
select_field=uid&lt;br /&gt;
where_field=userid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_relay_domains_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = domain&lt;br /&gt;
select_field = domain&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_alias_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = alias&lt;br /&gt;
select_field = goto&lt;br /&gt;
where_field = email&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_domains_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = domain&lt;br /&gt;
select_field = domain&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_mailbox_limit_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = users&lt;br /&gt;
select_field = quota&lt;br /&gt;
where_field = userid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_mailbox_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = users&lt;br /&gt;
select_field = home&lt;br /&gt;
where_field = userid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_transport.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = domain&lt;br /&gt;
select_field = transport&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configurare dovecot==&lt;br /&gt;
dovecot.conf :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
base_dir = /var/run/dovecot/&lt;br /&gt;
protocols = imap pop3s imaps  pop3&lt;br /&gt;
listen = *&lt;br /&gt;
ssl_disable = no&lt;br /&gt;
ssl_cert_file = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
ssl_key_file = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
disable_plaintext_auth = no&lt;br /&gt;
login_user = postfix&lt;br /&gt;
first_valid_uid = 400&lt;br /&gt;
mail_debug = no&lt;br /&gt;
default_mail_env = maildir:/home/mails/%h/&lt;br /&gt;
protocol imap {&lt;br /&gt;
}&lt;br /&gt;
protocol pop3 {&lt;br /&gt;
  pop3_uidl_format = %08Xu%08Xv&lt;br /&gt;
}&lt;br /&gt;
auth default {&lt;br /&gt;
  mechanisms = plain digest-md5 cram-md5&lt;br /&gt;
  passdb sql {&lt;br /&gt;
    args = /etc/dovecot/dovecot-mysql.conf&lt;br /&gt;
  }&lt;br /&gt;
  userdb sql {&lt;br /&gt;
    args = /etc/dovecot/dovecot-mysql.conf&lt;br /&gt;
  }&lt;br /&gt;
  user = root&lt;br /&gt;
  socket listen {&lt;br /&gt;
    client {&lt;br /&gt;
        path = /var/spool/postfix/private/auth&lt;br /&gt;
        mode = 0666&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dovecot-mysql.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driver=mysql&lt;br /&gt;
default_pass_scheme = crypt&lt;br /&gt;
connect = host=localhost dbname=email user=mailuser password=mailpass&lt;br /&gt;
password_query = SELECT password FROM users WHERE userid = '%n'&lt;br /&gt;
user_query = SELECT   home, uid , gid  FROM users WHERE userid = '%n';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configurarea bazei de date in mysql==&lt;br /&gt;
Se va folosi fisierul postdov.sql pentru crearea tabelelor in baza de date cu numele email. &lt;br /&gt;
I se va da acces userului mailuser si cu parola mailpass drept de citire pentru baza de date email. &lt;br /&gt;
Atentie: Este recomandat sa schimbati parola si userul in toate fisierele de configurare. &lt;br /&gt;
&lt;br /&gt;
postdov.sql:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `alias`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE alias (&lt;br /&gt;
  email varchar(255) NOT NULL default '',&lt;br /&gt;
  goto text NOT NULL,&lt;br /&gt;
  domain varchar(255) NOT NULL default '',&lt;br /&gt;
  PRIMARY KEY  (email),&lt;br /&gt;
  KEY domain (domain)&lt;br /&gt;
) TYPE=MyISAM;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Dumping data for table `alias`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
INSERT INTO alias VALUES ('root@domeniu.ro','administrator@domeniu.ro','domeniu.&lt;br /&gt;
ro');&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `domain`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE domain (&lt;br /&gt;
  domain varchar(255) NOT NULL default '',&lt;br /&gt;
  transport varchar(50) NOT NULL default 'virtual',&lt;br /&gt;
  PRIMARY KEY  (domain)&lt;br /&gt;
) TYPE=MyISAM;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Dumping data for table `domain`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
INSERT INTO domain VALUES ('domeniu.ro','virtual');&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `users`&lt;br /&gt;
--&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `users`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE users (&lt;br /&gt;
  userid varchar(255) NOT NULL default '',&lt;br /&gt;
  password varchar(255) NOT NULL default '',&lt;br /&gt;
  home varchar(255) NOT NULL default '',&lt;br /&gt;
  quota int(10) NOT NULL default '0',&lt;br /&gt;
  domain varchar(255) NOT NULL default '',&lt;br /&gt;
  uid int(11) NOT NULL default '0',&lt;br /&gt;
  gid int(11) NOT NULL default '0',&lt;br /&gt;
  lock enum('y','n') NOT NULL default 'n'&lt;br /&gt;
) TYPE=MyISAM;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Dumping data for table `users`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
INSERT INTO users VALUES ('administrator','$1$3totus54$6J1/1ETB/LdZHHt5D1bv7.','&lt;br /&gt;
root/',0,'domeniu.ro',400,400,'n');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fisierul postdov.sql creeaza tabelele necesare pentru postfix si dovecot, precum si un cont administrator si un alias catre acest cont. Parola implicita pentru acest cont este '123456'.&lt;br /&gt;
Parola este de tipul MD5. Un mic script pentru generarea parolelor poate fi urmatorul.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
?php&lt;br /&gt;
echo '&lt;br /&gt;
 &amp;lt;form method=&amp;quot;post&amp;quot; action=&amp;quot;'.$_SERVER['PHP_SELF'].'&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;pass&amp;quot; size=&amp;quot;13&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;doit&amp;quot; value=&amp;quot;generate&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;/form&amp;gt;&lt;br /&gt;
';&lt;br /&gt;
 if (CRYPT_MD5 == 1 &amp;amp;&amp;amp; $_POST['pass']) {&lt;br /&gt;
  echo 'MD5:          ' . crypt($_POST['pass'], '$1$3totus54$') . &amp;quot;\n&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Testarea serverului==&lt;br /&gt;
Va trebui sa creeam intai directorul in care vor fi casutele postale&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /home/mails&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pornirea serverelor binenteles si mysql trebuie sa fie pornit si configurat corespunzator.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
postfix start&lt;br /&gt;
dovecot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verificam daca totul este in regula pana acum:&lt;br /&gt;
Pentru postfix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet 127.0.0.1 25&lt;br /&gt;
Trying 127.0.0.1...&lt;br /&gt;
Connected to 127.0.0.1.&lt;br /&gt;
Escape character is '^]'.&lt;br /&gt;
220 domeniu.ro ESMTP Postfix&lt;br /&gt;
ehlo localhost&lt;br /&gt;
250-domeniu.ro&lt;br /&gt;
250-PIPELINING&lt;br /&gt;
250-SIZE 10240000&lt;br /&gt;
250-VRFY&lt;br /&gt;
250-ETRN&lt;br /&gt;
250-STARTTLS&lt;br /&gt;
250-AUTH PLAIN DIGEST-MD5 CRAM-MD5&lt;br /&gt;
250-AUTH=PLAIN DIGEST-MD5 CRAM-MD5&lt;br /&gt;
250-ENHANCEDSTATUSCODES&lt;br /&gt;
250-8BITMIME&lt;br /&gt;
250 DSN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si pentru dovecot&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet 127.0.0.1 143&lt;br /&gt;
Trying 127.0.0.1...&lt;br /&gt;
Connected to 127.0.0.1.&lt;br /&gt;
Escape character is '^]'.&lt;br /&gt;
* OK Dovecot ready.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Instalare si configurare Squirrelmail==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Final==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:Networking]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Postfix_tls_mysql_dovecot&amp;diff=1950</id>
		<title>Postfix tls mysql dovecot</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Postfix_tls_mysql_dovecot&amp;diff=1950"/>
				<updated>2006-02-06T23:48:18Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Compilarea si instalarea programelor postfix si dovecot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scopul Ghidului==&lt;br /&gt;
Creearea unui mailserver cu ajutorul programelor postfix,mysql, dovecot si interfata de webmail squirrelmail. &lt;br /&gt;
In loc de clasicul cyrus saslauth o sa folosim dovecot-sasl, postfix-ul 2.3 are suport pentru acesta.&lt;br /&gt;
&lt;br /&gt;
==Nota==&lt;br /&gt;
Instalarea s-a facut pe o distributie Slackware 10.2 cu mysql instalat si apache. Acest ghid nu se va ocupa de instalarea serverului mysql si nici de configurarea si instalarea serverului de web apache. &lt;br /&gt;
In functie de distributia folosita unele comenzi necesita o mica modificare de cale (vezi mysql in configurarea postfix-ului).&lt;br /&gt;
&lt;br /&gt;
==Compilarea si instalarea programelor postfix si dovecot==&lt;br /&gt;
In momentul scrierii acestui ghid versiunile folosite au fost cele mai noi.&lt;br /&gt;
&lt;br /&gt;
Instalare postfix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://postfix.imar.ro/postfix-release/experimental/postfix-2.3-20060202.ta&lt;br /&gt;
r.gz&lt;br /&gt;
tar -zxf postfix-2.3-20060202.tar.gz&lt;br /&gt;
cd postfix-2.3-20060202&lt;br /&gt;
make tidy&lt;br /&gt;
make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -DUSE_TLS -I/usr/include/mys&lt;br /&gt;
ql -DUSE_SASL_AUTH -DDEF_SASL_SERVER=\&amp;quot;dovecot\&amp;quot;'  'AUXLIBS=-L/usr/lib/mysql -lm&lt;br /&gt;
ysqlclient -lz -lm -lssl -lcrypto'&lt;br /&gt;
make&lt;br /&gt;
useradd postfix&lt;br /&gt;
groupadd postdrop&lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instalare dovecot&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dovecot.org/releases/dovecot-1.0.beta2.tar.gz&lt;br /&gt;
tar -zxf dovecot-1.0.beta2.tar.gz&lt;br /&gt;
cd dovecot-1.0.beta2&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/dovecot --with-mysql&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Crearea unui certificat self-signed==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/postfix&lt;br /&gt;
mkdir ssl&lt;br /&gt;
cd ssl&lt;br /&gt;
openssl req -new -x509 -nodes -out smtpd.pem -keyout smtpd.pem -days 3650&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configurare postfix==&lt;br /&gt;
main.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
queue_directory = /var/spool/postfix&lt;br /&gt;
command_directory = /usr/sbin&lt;br /&gt;
daemon_directory = /usr/libexec/postfix&lt;br /&gt;
mail_owner = postfix&lt;br /&gt;
unknown_local_recipient_reject_code = 550&lt;br /&gt;
mynetworks_style = subnet&lt;br /&gt;
mailbox_command =&lt;br /&gt;
debug_peer_level = 2&lt;br /&gt;
debugger_command =&lt;br /&gt;
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin&lt;br /&gt;
         xxgdb $daemon_directory/$process_name $process_id &amp;amp; sleep 5&lt;br /&gt;
sendmail_path = /usr/sbin/sendmail&lt;br /&gt;
newaliases_path = /usr/bin/newaliases&lt;br /&gt;
mailq_path = /usr/bin/mailq&lt;br /&gt;
setgid_group = postdrop&lt;br /&gt;
html_directory = no&lt;br /&gt;
manpage_directory = /usr/man/&lt;br /&gt;
sample_directory = /etc/postfix&lt;br /&gt;
mynetworks = 127.0.0.0/8&lt;br /&gt;
readme_directory = no&lt;br /&gt;
myhostname = domeniu.ro&lt;br /&gt;
smtpd_sasl_local_domain =&lt;br /&gt;
smtpd_sasl_auth_enable = yes&lt;br /&gt;
smtpd_sasl_type = dovecot&lt;br /&gt;
smtpd_sasl_path = private/auth&lt;br /&gt;
smtpd_sasl_security_options = noanonymous&lt;br /&gt;
broken_sasl_auth_clients = yes&lt;br /&gt;
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,rejec&lt;br /&gt;
t_unauth_destination&lt;br /&gt;
inet_interfaces = all&lt;br /&gt;
transport_maps = mysql:/etc/postfix/mysql_virtual_transport.cf&lt;br /&gt;
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf&lt;br /&gt;
virtual_mailbox_base = /home/mails&lt;br /&gt;
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf&lt;br /&gt;
virtual_mailbox_limit = 51200000&lt;br /&gt;
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf&lt;br /&gt;
virtual_transport = virtual&lt;br /&gt;
virtual_uid_maps = mysql:/etc/postfix/uid.cf&lt;br /&gt;
virtual_gid_maps = mysql:/etc/postfix/gid.cf&lt;br /&gt;
virtual_create_maildirsize = yes&lt;br /&gt;
virtual_mailbox_extended = yes&lt;br /&gt;
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps&lt;br /&gt;
.cf&lt;br /&gt;
virtual_mailbox_limit_override = yes&lt;br /&gt;
virtual_maildir_limit_message = Sorry, the user's maildir has no space available&lt;br /&gt;
 in their inbox.&lt;br /&gt;
virtual_overquota_bounce = yes&lt;br /&gt;
relay_domains = mysql:/etc/postfix/mysql_relay_domains_maps.cf&lt;br /&gt;
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf&lt;br /&gt;
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf&lt;br /&gt;
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_limi&lt;br /&gt;
t_maps.cf&lt;br /&gt;
proxy_read_maps = $local_recipient_maps $virtual_alias_maps&lt;br /&gt;
  $virtual_alias_domains $virtual_mailbox_maps $mydestination $virtual_mailbox_d&lt;br /&gt;
omains&lt;br /&gt;
  $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps&lt;br /&gt;
  $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks&lt;br /&gt;
  $virtual_mailbox_limit_maps&lt;br /&gt;
smtpd_tls_auth_only = no&lt;br /&gt;
smtp_use_tls = yes&lt;br /&gt;
smtpd_use_tls = yes&lt;br /&gt;
smtpd_tls_note_starttls_offer = yes&lt;br /&gt;
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
smtpd_tls_loglevel = 1&lt;br /&gt;
smtpd_tls_received_header = yes&lt;br /&gt;
smtpd_tls_session_cache_timeout = 3600s&lt;br /&gt;
tls_random_source = dev:/dev/urandom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gid.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts=localhost&lt;br /&gt;
user=mailuser&lt;br /&gt;
password=mailpass&lt;br /&gt;
dbname=email&lt;br /&gt;
table=users&lt;br /&gt;
select_field=gid&lt;br /&gt;
where_field=userid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uid.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts=localhost&lt;br /&gt;
user=mailuser&lt;br /&gt;
password=mailpass&lt;br /&gt;
dbname=email&lt;br /&gt;
table=users&lt;br /&gt;
select_field=uid&lt;br /&gt;
where_field=userid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_relay_domains_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = domain&lt;br /&gt;
select_field = domain&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_alias_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = alias&lt;br /&gt;
select_field = goto&lt;br /&gt;
where_field = email&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_domains_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = domain&lt;br /&gt;
select_field = domain&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_mailbox_limit_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = users&lt;br /&gt;
select_field = quota&lt;br /&gt;
where_field = userid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_mailbox_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = users&lt;br /&gt;
select_field = home&lt;br /&gt;
where_field = userid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_transport.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = domain&lt;br /&gt;
select_field = transport&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configurare dovecot==&lt;br /&gt;
dovecot.conf :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
base_dir = /var/run/dovecot/&lt;br /&gt;
protocols = imap pop3s imaps  pop3&lt;br /&gt;
listen = *&lt;br /&gt;
ssl_disable = no&lt;br /&gt;
ssl_cert_file = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
ssl_key_file = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
disable_plaintext_auth = no&lt;br /&gt;
login_user = postfix&lt;br /&gt;
first_valid_uid = 400&lt;br /&gt;
mail_debug = no&lt;br /&gt;
default_mail_env = maildir:/home/mails/%h/&lt;br /&gt;
protocol imap {&lt;br /&gt;
}&lt;br /&gt;
protocol pop3 {&lt;br /&gt;
  pop3_uidl_format = %08Xu%08Xv&lt;br /&gt;
}&lt;br /&gt;
auth default {&lt;br /&gt;
  mechanisms = plain digest-md5 cram-md5&lt;br /&gt;
  passdb sql {&lt;br /&gt;
    args = /etc/dovecot/dovecot-mysql.conf&lt;br /&gt;
  }&lt;br /&gt;
  userdb sql {&lt;br /&gt;
    args = /etc/dovecot/dovecot-mysql.conf&lt;br /&gt;
  }&lt;br /&gt;
  user = root&lt;br /&gt;
  socket listen {&lt;br /&gt;
    client {&lt;br /&gt;
        path = /var/spool/postfix/private/auth&lt;br /&gt;
        mode = 0666&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dovecot-mysql.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driver=mysql&lt;br /&gt;
default_pass_scheme = crypt&lt;br /&gt;
connect = host=localhost dbname=email user=mailuser password=mailpass&lt;br /&gt;
password_query = SELECT password FROM users WHERE userid = '%n'&lt;br /&gt;
user_query = SELECT   home, uid , gid  FROM users WHERE userid = '%n';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configurarea bazei de date in mysql==&lt;br /&gt;
Se va folosi fisierul postdov.sql pentru crearea tabelelor in baza de date cu numele email. &lt;br /&gt;
I se va da acces userului mailuser si cu parola mailpass drept de citire pentru baza de date email. &lt;br /&gt;
Atentie: Este recomandat sa schimbati parola si userul in toate fisierele de configurare. &lt;br /&gt;
&lt;br /&gt;
postdov.sql:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `alias`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE alias (&lt;br /&gt;
  email varchar(255) NOT NULL default '',&lt;br /&gt;
  goto text NOT NULL,&lt;br /&gt;
  domain varchar(255) NOT NULL default '',&lt;br /&gt;
  PRIMARY KEY  (email),&lt;br /&gt;
  KEY domain (domain)&lt;br /&gt;
) TYPE=MyISAM;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Dumping data for table `alias`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
INSERT INTO alias VALUES ('root@domeniu.ro','administrator@domeniu.ro','domeniu.&lt;br /&gt;
ro');&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `domain`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE domain (&lt;br /&gt;
  domain varchar(255) NOT NULL default '',&lt;br /&gt;
  transport varchar(50) NOT NULL default 'virtual',&lt;br /&gt;
  PRIMARY KEY  (domain)&lt;br /&gt;
) TYPE=MyISAM;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Dumping data for table `domain`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
INSERT INTO domain VALUES ('domeniu.ro','virtual');&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `users`&lt;br /&gt;
--&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `users`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE users (&lt;br /&gt;
  userid varchar(255) NOT NULL default '',&lt;br /&gt;
  password varchar(255) NOT NULL default '',&lt;br /&gt;
  home varchar(255) NOT NULL default '',&lt;br /&gt;
  quota int(10) NOT NULL default '0',&lt;br /&gt;
  domain varchar(255) NOT NULL default '',&lt;br /&gt;
  uid int(11) NOT NULL default '0',&lt;br /&gt;
  gid int(11) NOT NULL default '0',&lt;br /&gt;
  lock enum('y','n') NOT NULL default 'n'&lt;br /&gt;
) TYPE=MyISAM;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Dumping data for table `users`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
INSERT INTO users VALUES ('administrator','$1$3totus54$6J1/1ETB/LdZHHt5D1bv7.','&lt;br /&gt;
root/',0,'domeniu.ro',400,400,'n');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fisierul postdov.sql creeaza tabelele necesare pentru postfix si dovecot, precum si un cont administrator si un alias catre acest cont. Parola implicita pentru acest cont este '123456'.&lt;br /&gt;
Parola este de tipul MD5. Un mic script pentru generarea parolelor poate fi urmatorul.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
?php&lt;br /&gt;
echo '&lt;br /&gt;
 &amp;lt;form method=&amp;quot;post&amp;quot; action=&amp;quot;'.$_SERVER['PHP_SELF'].'&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;pass&amp;quot; size=&amp;quot;13&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;doit&amp;quot; value=&amp;quot;generate&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;/form&amp;gt;&lt;br /&gt;
';&lt;br /&gt;
 if (CRYPT_MD5 == 1 &amp;amp;&amp;amp; $_POST['pass']) {&lt;br /&gt;
  echo 'MD5:          ' . crypt($_POST['pass'], '$1$3totus54$') . &amp;quot;\n&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Testarea serverului==&lt;br /&gt;
Va trebui sa creeam intai directorul in care vor fi casutele postale&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /home/mails&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pornirea serverelor binenteles si mysql trebuie sa fie pornit si configurat corespunzator.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
postfix start&lt;br /&gt;
dovecot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verificam daca totul este in regula pana acum:&lt;br /&gt;
Pentru postfix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet 127.0.0.1 25&lt;br /&gt;
Trying 127.0.0.1...&lt;br /&gt;
Connected to 127.0.0.1.&lt;br /&gt;
Escape character is '^]'.&lt;br /&gt;
220 domeniu.ro ESMTP Postfix&lt;br /&gt;
ehlo localhost&lt;br /&gt;
250-domeniu.ro&lt;br /&gt;
250-PIPELINING&lt;br /&gt;
250-SIZE 10240000&lt;br /&gt;
250-VRFY&lt;br /&gt;
250-ETRN&lt;br /&gt;
250-STARTTLS&lt;br /&gt;
250-AUTH PLAIN DIGEST-MD5 CRAM-MD5&lt;br /&gt;
250-AUTH=PLAIN DIGEST-MD5 CRAM-MD5&lt;br /&gt;
250-ENHANCEDSTATUSCODES&lt;br /&gt;
250-8BITMIME&lt;br /&gt;
250 DSN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si pentru dovecot&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet 127.0.0.1 143&lt;br /&gt;
Trying 127.0.0.1...&lt;br /&gt;
Connected to 127.0.0.1.&lt;br /&gt;
Escape character is '^]'.&lt;br /&gt;
* OK Dovecot ready.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Instalare si configurare Squirrelmail==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Final==&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Postfix_tls_mysql_dovecot&amp;diff=1949</id>
		<title>Postfix tls mysql dovecot</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Postfix_tls_mysql_dovecot&amp;diff=1949"/>
				<updated>2006-02-06T23:45:01Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: Configurare postfix+dovecot+sasl+tls+mysql+squirrelmail&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scopul Ghidului==&lt;br /&gt;
Creearea unui mailserver cu ajutorul programelor postfix,mysql, dovecot si interfata de webmail squirrelmail. &lt;br /&gt;
In loc de clasicul cyrus saslauth o sa folosim dovecot-sasl, postfix-ul 2.3 are suport pentru acesta.&lt;br /&gt;
&lt;br /&gt;
==Nota==&lt;br /&gt;
Instalarea s-a facut pe o distributie Slackware 10.2 cu mysql instalat si apache. Acest ghid nu se va ocupa de instalarea serverului mysql si nici de configurarea si instalarea serverului de web apache. &lt;br /&gt;
In functie de distributia folosita unele comenzi necesita o mica modificare de cale (vezi mysql in configurarea postfix-ului).&lt;br /&gt;
&lt;br /&gt;
==Compilarea si instalarea programelor postfix si dovecot==&lt;br /&gt;
In momentul scrierii acestui ghid versiunile folosite au fost cele mai noi.&lt;br /&gt;
&lt;br /&gt;
Instalare postfix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://postfix.imar.ro/postfix-release/experimental/postfix-2.3-20060202.ta&lt;br /&gt;
r.gz&lt;br /&gt;
tar -zxf postfix-2.3-20060202.tar.gz&lt;br /&gt;
cd postfix-2.3-20060202&lt;br /&gt;
make tidy&lt;br /&gt;
make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -DUSE_TLS -I/usr/include/mys&lt;br /&gt;
ql -DUSE_SASL_AUTH -DDEF_SASL_SERVER=\&amp;quot;dovecot\&amp;quot;'  'AUXLIBS=-L/usr/lib/mysql -lm&lt;br /&gt;
ysqlclient -lz -lm -lssl -lcrypto'&lt;br /&gt;
make&lt;br /&gt;
useradd postfix&lt;br /&gt;
groupadd postdrop&lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instalare dovecot&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.dovecot.org/releases/dovecot-1.0.beta2.tar.gz&lt;br /&gt;
tar -zxf dovecot-1.0.beta2.tar.gz&lt;br /&gt;
cd dovecot-1.0.beta2&lt;br /&gt;
./configure --prefix=/usr --sysconfdir=/etc/dovecot --with-mysql&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Crearea unui certificat self-signed pentru a ne folosi la autentificarea tls&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/postfix&lt;br /&gt;
mkdir ssl&lt;br /&gt;
cd ssl&lt;br /&gt;
openssl req -new -x509 -nodes -out smtpd.pem -keyout smtpd.pem -days 3650&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configurare postfix:&lt;br /&gt;
main.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
queue_directory = /var/spool/postfix&lt;br /&gt;
command_directory = /usr/sbin&lt;br /&gt;
daemon_directory = /usr/libexec/postfix&lt;br /&gt;
mail_owner = postfix&lt;br /&gt;
unknown_local_recipient_reject_code = 550&lt;br /&gt;
mynetworks_style = subnet&lt;br /&gt;
mailbox_command =&lt;br /&gt;
debug_peer_level = 2&lt;br /&gt;
debugger_command =&lt;br /&gt;
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin&lt;br /&gt;
         xxgdb $daemon_directory/$process_name $process_id &amp;amp; sleep 5&lt;br /&gt;
sendmail_path = /usr/sbin/sendmail&lt;br /&gt;
newaliases_path = /usr/bin/newaliases&lt;br /&gt;
mailq_path = /usr/bin/mailq&lt;br /&gt;
setgid_group = postdrop&lt;br /&gt;
html_directory = no&lt;br /&gt;
manpage_directory = /usr/man/&lt;br /&gt;
sample_directory = /etc/postfix&lt;br /&gt;
mynetworks = 127.0.0.0/8&lt;br /&gt;
readme_directory = no&lt;br /&gt;
myhostname = domeniu.ro&lt;br /&gt;
smtpd_sasl_local_domain =&lt;br /&gt;
smtpd_sasl_auth_enable = yes&lt;br /&gt;
smtpd_sasl_type = dovecot&lt;br /&gt;
smtpd_sasl_path = private/auth&lt;br /&gt;
smtpd_sasl_security_options = noanonymous&lt;br /&gt;
broken_sasl_auth_clients = yes&lt;br /&gt;
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,rejec&lt;br /&gt;
t_unauth_destination&lt;br /&gt;
inet_interfaces = all&lt;br /&gt;
transport_maps = mysql:/etc/postfix/mysql_virtual_transport.cf&lt;br /&gt;
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf&lt;br /&gt;
virtual_mailbox_base = /home/mails&lt;br /&gt;
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf&lt;br /&gt;
virtual_mailbox_limit = 51200000&lt;br /&gt;
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf&lt;br /&gt;
virtual_transport = virtual&lt;br /&gt;
virtual_uid_maps = mysql:/etc/postfix/uid.cf&lt;br /&gt;
virtual_gid_maps = mysql:/etc/postfix/gid.cf&lt;br /&gt;
virtual_create_maildirsize = yes&lt;br /&gt;
virtual_mailbox_extended = yes&lt;br /&gt;
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps&lt;br /&gt;
.cf&lt;br /&gt;
virtual_mailbox_limit_override = yes&lt;br /&gt;
virtual_maildir_limit_message = Sorry, the user's maildir has no space available&lt;br /&gt;
 in their inbox.&lt;br /&gt;
virtual_overquota_bounce = yes&lt;br /&gt;
relay_domains = mysql:/etc/postfix/mysql_relay_domains_maps.cf&lt;br /&gt;
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf&lt;br /&gt;
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf&lt;br /&gt;
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_limi&lt;br /&gt;
t_maps.cf&lt;br /&gt;
proxy_read_maps = $local_recipient_maps $virtual_alias_maps&lt;br /&gt;
  $virtual_alias_domains $virtual_mailbox_maps $mydestination $virtual_mailbox_d&lt;br /&gt;
omains&lt;br /&gt;
  $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps&lt;br /&gt;
  $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks&lt;br /&gt;
  $virtual_mailbox_limit_maps&lt;br /&gt;
smtpd_tls_auth_only = no&lt;br /&gt;
smtp_use_tls = yes&lt;br /&gt;
smtpd_use_tls = yes&lt;br /&gt;
smtpd_tls_note_starttls_offer = yes&lt;br /&gt;
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
smtpd_tls_loglevel = 1&lt;br /&gt;
smtpd_tls_received_header = yes&lt;br /&gt;
smtpd_tls_session_cache_timeout = 3600s&lt;br /&gt;
tls_random_source = dev:/dev/urandom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gid.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts=localhost&lt;br /&gt;
user=mailuser&lt;br /&gt;
password=mailpass&lt;br /&gt;
dbname=email&lt;br /&gt;
table=users&lt;br /&gt;
select_field=gid&lt;br /&gt;
where_field=userid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uid.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts=localhost&lt;br /&gt;
user=mailuser&lt;br /&gt;
password=mailpass&lt;br /&gt;
dbname=email&lt;br /&gt;
table=users&lt;br /&gt;
select_field=uid&lt;br /&gt;
where_field=userid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_relay_domains_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = domain&lt;br /&gt;
select_field = domain&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_alias_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = alias&lt;br /&gt;
select_field = goto&lt;br /&gt;
where_field = email&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_domains_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = domain&lt;br /&gt;
select_field = domain&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_mailbox_limit_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = users&lt;br /&gt;
select_field = quota&lt;br /&gt;
where_field = userid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_mailbox_maps.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = users&lt;br /&gt;
select_field = home&lt;br /&gt;
where_field = userid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mysql_virtual_transport.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = localhost&lt;br /&gt;
dbname = email&lt;br /&gt;
user = mailuser&lt;br /&gt;
password = mailpass&lt;br /&gt;
table = domain&lt;br /&gt;
select_field = transport&lt;br /&gt;
where_field = domain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configurare dovecot==&lt;br /&gt;
dovecot.conf :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
base_dir = /var/run/dovecot/&lt;br /&gt;
protocols = imap pop3s imaps  pop3&lt;br /&gt;
listen = *&lt;br /&gt;
ssl_disable = no&lt;br /&gt;
ssl_cert_file = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
ssl_key_file = /etc/postfix/ssl/smtpd.pem&lt;br /&gt;
disable_plaintext_auth = no&lt;br /&gt;
login_user = postfix&lt;br /&gt;
first_valid_uid = 400&lt;br /&gt;
mail_debug = no&lt;br /&gt;
default_mail_env = maildir:/home/mails/%h/&lt;br /&gt;
protocol imap {&lt;br /&gt;
}&lt;br /&gt;
protocol pop3 {&lt;br /&gt;
  pop3_uidl_format = %08Xu%08Xv&lt;br /&gt;
}&lt;br /&gt;
auth default {&lt;br /&gt;
  mechanisms = plain digest-md5 cram-md5&lt;br /&gt;
  passdb sql {&lt;br /&gt;
    args = /etc/dovecot/dovecot-mysql.conf&lt;br /&gt;
  }&lt;br /&gt;
  userdb sql {&lt;br /&gt;
    args = /etc/dovecot/dovecot-mysql.conf&lt;br /&gt;
  }&lt;br /&gt;
  user = root&lt;br /&gt;
  socket listen {&lt;br /&gt;
    client {&lt;br /&gt;
        path = /var/spool/postfix/private/auth&lt;br /&gt;
        mode = 0666&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dovecot-mysql.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driver=mysql&lt;br /&gt;
default_pass_scheme = crypt&lt;br /&gt;
connect = host=localhost dbname=email user=mailuser password=mailpass&lt;br /&gt;
password_query = SELECT password FROM users WHERE userid = '%n'&lt;br /&gt;
user_query = SELECT   home, uid , gid  FROM users WHERE userid = '%n';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configurarea bazei de date in mysql==&lt;br /&gt;
Se va folosi fisierul postdov.sql pentru crearea tabelelor in baza de date cu numele email. &lt;br /&gt;
I se va da acces userului mailuser si cu parola mailpass drept de citire pentru baza de date email. &lt;br /&gt;
Atentie: Este recomandat sa schimbati parola si userul in toate fisierele de configurare. &lt;br /&gt;
&lt;br /&gt;
postdov.sql:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `alias`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE alias (&lt;br /&gt;
  email varchar(255) NOT NULL default '',&lt;br /&gt;
  goto text NOT NULL,&lt;br /&gt;
  domain varchar(255) NOT NULL default '',&lt;br /&gt;
  PRIMARY KEY  (email),&lt;br /&gt;
  KEY domain (domain)&lt;br /&gt;
) TYPE=MyISAM;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Dumping data for table `alias`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
INSERT INTO alias VALUES ('root@domeniu.ro','administrator@domeniu.ro','domeniu.&lt;br /&gt;
ro');&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `domain`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE domain (&lt;br /&gt;
  domain varchar(255) NOT NULL default '',&lt;br /&gt;
  transport varchar(50) NOT NULL default 'virtual',&lt;br /&gt;
  PRIMARY KEY  (domain)&lt;br /&gt;
) TYPE=MyISAM;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Dumping data for table `domain`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
INSERT INTO domain VALUES ('domeniu.ro','virtual');&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `users`&lt;br /&gt;
--&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `users`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE users (&lt;br /&gt;
  userid varchar(255) NOT NULL default '',&lt;br /&gt;
  password varchar(255) NOT NULL default '',&lt;br /&gt;
  home varchar(255) NOT NULL default '',&lt;br /&gt;
  quota int(10) NOT NULL default '0',&lt;br /&gt;
  domain varchar(255) NOT NULL default '',&lt;br /&gt;
  uid int(11) NOT NULL default '0',&lt;br /&gt;
  gid int(11) NOT NULL default '0',&lt;br /&gt;
  lock enum('y','n') NOT NULL default 'n'&lt;br /&gt;
) TYPE=MyISAM;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Dumping data for table `users`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
INSERT INTO users VALUES ('administrator','$1$3totus54$6J1/1ETB/LdZHHt5D1bv7.','&lt;br /&gt;
root/',0,'domeniu.ro',400,400,'n');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fisierul postdov.sql creeaza tabelele necesare pentru postfix si dovecot, precum si un cont administrator si un alias catre acest cont. Parola implicita pentru acest cont este '123456'.&lt;br /&gt;
Parola este de tipul MD5. Un mic script pentru generarea parolelor poate fi urmatorul.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
?php&lt;br /&gt;
echo '&lt;br /&gt;
 &amp;lt;form method=&amp;quot;post&amp;quot; action=&amp;quot;'.$_SERVER['PHP_SELF'].'&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;pass&amp;quot; size=&amp;quot;13&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;doit&amp;quot; value=&amp;quot;generate&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;/form&amp;gt;&lt;br /&gt;
';&lt;br /&gt;
 if (CRYPT_MD5 == 1 &amp;amp;&amp;amp; $_POST['pass']) {&lt;br /&gt;
  echo 'MD5:          ' . crypt($_POST['pass'], '$1$3totus54$') . &amp;quot;\n&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Testarea serverului==&lt;br /&gt;
Va trebui sa creeam intai directorul in care vor fi casutele postale&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /home/mails&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pornirea serverelor binenteles si mysql trebuie sa fie pornit si configurat corespunzator.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
postfix start&lt;br /&gt;
dovecot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verificam daca totul este in regula pana acum:&lt;br /&gt;
Pentru postfix&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
telnet 127.0.0.1 25&lt;br /&gt;
Trying 127.0.0.1...&lt;br /&gt;
Connected to 127.0.0.1.&lt;br /&gt;
Escape character is '^]'.&lt;br /&gt;
220 domeniu.ro ESMTP Postfix&lt;br /&gt;
ehlo localhost&lt;br /&gt;
250-domeniu.ro&lt;br /&gt;
250-PIPELINING&lt;br /&gt;
250-SIZE 10240000&lt;br /&gt;
250-VRFY&lt;br /&gt;
250-ETRN&lt;br /&gt;
250-STARTTLS&lt;br /&gt;
250-AUTH PLAIN DIGEST-MD5 CRAM-MD5&lt;br /&gt;
250-AUTH=PLAIN DIGEST-MD5 CRAM-MD5&lt;br /&gt;
250-ENHANCEDSTATUSCODES&lt;br /&gt;
250-8BITMIME&lt;br /&gt;
250 DSN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si pentru dovecot&lt;br /&gt;
&amp;lt;pre&amp;gt;telnet 127.0.0.1 143&lt;br /&gt;
Trying 127.0.0.1...&lt;br /&gt;
Connected to 127.0.0.1.&lt;br /&gt;
Escape character is '^]'.&lt;br /&gt;
* OK Dovecot ready.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Instalare si configurare Squirrelmail==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Final==&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=1615</id>
		<title>Cum dau net mai departe</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=1615"/>
				<updated>2005-12-16T11:28:28Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Configurarea SNAT-ului */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scopul Ghidului==&lt;br /&gt;
Setarea unui server de internet folosind SNAT&lt;br /&gt;
&lt;br /&gt;
==Configurarea Serverului==&lt;br /&gt;
Mai intai configuram net-ul pentru server. In functie de distributie sunt utilitare care fac acest lucru automat.&lt;br /&gt;
Asa cum bine stim (sau ar trebui) majoritatea fisierelor de configurare a unui SO linux se gasesc in directorul /etc , iar scripturile&lt;br /&gt;
de inceput in /etc/rc.d pe sistemele ce folosesc sistemul BSD iar pe celelalte in /etc/init.d/ . Pentru a afla cum sa setezi net-ul pentru distributia ta consulta manualul respectivei distributii.&lt;br /&gt;
Setarea manuala a retelei (valabila pentru toate distributiile) se face cu urmatoarele comenzi (presupunand ca suportul necesar pentru&lt;br /&gt;
placile de retea se afla in kernel sau modulele aferente sunt incarcate):&lt;br /&gt;
Scriptul urmator se va salva ca net.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
ip_net=10.0.23.32&lt;br /&gt;
netmask_net=255.255.0.0&lt;br /&gt;
gateway_net=10.0.0.1&lt;br /&gt;
dns1=123.123.123.123&lt;br /&gt;
dns2=123.123.123.124&lt;br /&gt;
ip_retea=192.168.0.1&lt;br /&gt;
netmas_retea=255.255.255.0&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
#configurarea net-ului&lt;br /&gt;
/sbin/ifconfig $placa_net $ip_net netmask $netmask_net &lt;br /&gt;
/sbin/route add default gw $gateway_net metric 1&lt;br /&gt;
echo &amp;quot;$dns1&amp;quot;&amp;gt;/etc/resolv.conf&lt;br /&gt;
echo &amp;quot;$dns2&amp;quot;&amp;gt;&amp;gt;/etc/resolv.conf&lt;br /&gt;
#configurarea retelei&lt;br /&gt;
/sbin/ifconfig $placa_retea netmask $netmask_retea&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configurarea SNAT-ului==&lt;br /&gt;
Scriptul urmator se va salva snat.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
clasa_retea=192.168.0.0&lt;br /&gt;
iptables=/usr/sbin/iptables&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
echo &amp;quot;1&amp;quot;&amp;gt;/proc/sys/net/ipv4/ip_forward&lt;br /&gt;
$iptables -t nat -F&lt;br /&gt;
$iptables -F FORWARD&lt;br /&gt;
$iptables -P FORWARD DROP&lt;br /&gt;
$iptables -t nat -A POSTROUTING -o $placa_net -j MASQUERADE&lt;br /&gt;
$iptables -A FORWARD -i $placa_retea -j ACCEPT&lt;br /&gt;
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Final==&lt;br /&gt;
Asa acum ca avem cele 2 scripturi urmeaza sa le facem executabile si sa le punem sa porneasca la boot-are.&lt;br /&gt;
Pentru a le face executabile vom da comenzile:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod +x net.sh&lt;br /&gt;
# chmod +x snat.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;quot;#&amp;quot; simbolizeaza prompt-ul de root.&lt;br /&gt;
Urmatorul pas este adaugarea lor in scriptul rc.local care il gasiti fie in /etc/rc.d fie in /etc/init.d sau in locul indicat &lt;br /&gt;
de manualul distributiei.&lt;br /&gt;
&lt;br /&gt;
Iar acum suntem in posesia unui server de linux care stie sa si &amp;quot;dea&amp;quot; net-ul mai departe. Si cum stiu ca sunteti niste admini &lt;br /&gt;
responsabili va apucati sa cititi mai multe despre iptables si cum se securizeaza acest server si ce servicii le mai puteti &lt;br /&gt;
oferi clientilor.&lt;br /&gt;
&lt;br /&gt;
[[Category:Networking]][[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1614</id>
		<title>Comunica prin lpt</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1614"/>
				<updated>2005-12-16T11:26:58Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Programul de test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
Acesta se vrea un mini ghid despre controlul unui motor pas cu pas unipolar cu ajutorul linux-ului si a portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Motoarele pas cu pas unipoloare==&lt;br /&gt;
Motoarele la care voi face referinta sunt motoare de curent continuu care se alimenteaza la 12-25V si au proprietatea de a putea&lt;br /&gt;
controla fiecare pas facut de aceste motoare. Un pas are de obicei 1,8 grade, ceea ce inseamna ca o rotatie completa inseamna 200&lt;br /&gt;
de pasi.&lt;br /&gt;
Motoarele pas cu pas unipolare au de obicei 5 sau 6 fire, exista si cu 8 fire dar exista posibilitatea ca acestea sa fie si bipolare.&lt;br /&gt;
&lt;br /&gt;
Schema unui motor cu 5 fire [[Image:5wire.jpg]] &lt;br /&gt;
Schema unui motor cu 6 fire [[Image:6wire.jpg]]&lt;br /&gt;
&lt;br /&gt;
Asa cum observam din cele doua scheme constructia este asemanatoare, singura diferenta fiind alimentarea. La motorul cu 5 fire numai un fir este de alimentare (firul marcat common) restul de control la cel  cu 6 fire sunt 2 fire de alimentare (firele marcate A si B). Daca la motorul cu 6 fire unim cele 2 fire de alimentare obtinem un motor pas cu pas cu 5. Concluzia daca invatam sa comandam unul din cele 2 il vom comanda si pe celalalt. &lt;br /&gt;
Pentru a afla care sunt firele noastre de alimentare vom masura rezistenta intre fire. Intre firul de alimentare si capete va fi o &lt;br /&gt;
rezistenta pe jumatate decat in cazul masurarii rezistentei intre 2 capete. La motorul cu 6 fire Orice combinatie A(+-)B(+-) nu va intoarce nici o rezistenta cele 2 fire nefiind legate.&lt;br /&gt;
Motoarele pas cu pas se controleaza aplicand o tensiune pe firele de control. Modul de control este prezentat in figura urmatoare:&lt;br /&gt;
&lt;br /&gt;
[[Image:Step.gif]]&lt;br /&gt;
&lt;br /&gt;
Pentru schimbarea sensului de rotatie pur si simplu se trimit comenzile in sens invers.&lt;br /&gt;
&lt;br /&gt;
==Schema portului lpt==&lt;br /&gt;
[[Image:Lpt.jpg]]&lt;br /&gt;
Asa cum se vede si din imagine pinii 18-25 sunt pentru masa, iar cei folositi de noi pentru transmiterea datelor vor fi pinii 2-8&lt;br /&gt;
&lt;br /&gt;
==Cum facem montajul==&lt;br /&gt;
Deoarece motorul lucreaza cu tensiuni cu mult peste posibilitatile portului nostru lpt. O sa avem nevoie de o alimentare externa,&lt;br /&gt;
dar si de o protectie a portului nostru. Pentru aceasta o sa folosim cipul uln2003 sau uln2803a si o dioda zenner de 12V&lt;br /&gt;
&lt;br /&gt;
Schema este urmatoarea [[Image:Lptmot.jpg]]&lt;br /&gt;
&lt;br /&gt;
Trebuie sa mai adaugam o legatura intre unul din pinii de gnd(18-25) de la portul lpt cu masa si una de la pin-ul gnd al chip-ului cu masa. Si sa avem grija, ca firele motorului sa fie legate A+B+A-B- la pinii 2-5 ai portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Programul de test==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm/io.h&amp;gt;&lt;br /&gt;
#define porta 0x378&lt;br /&gt;
&lt;br /&gt;
const char *filename;&lt;br /&gt;
int main(int argc,char *argv[]) {&lt;br /&gt;
 &lt;br /&gt;
  int fd;&lt;br /&gt;
  ioperm(porta,3L,1);&lt;br /&gt;
  filename = &amp;quot;/dev/lp0&amp;quot;;&lt;br /&gt;
  fd = open(filename, O_RDWR);&lt;br /&gt;
   if (fd &amp;lt; 0)&lt;br /&gt;
   {&lt;br /&gt;
     printf(&amp;quot;bla bla bla eroare %s\n&amp;quot;, filename);&lt;br /&gt;
     exit(1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
for (;;){&lt;br /&gt;
&lt;br /&gt;
   outb(3,porta);&lt;br /&gt;
   usleep(20*1000);&lt;br /&gt;
   outb(6,porta);&lt;br /&gt;
   usleep(20*1000);&lt;br /&gt;
   outb(12,porta);&lt;br /&gt;
   usleep(20*1000);&lt;br /&gt;
   outb(9,porta);&lt;br /&gt;
   usleep(20*1000);&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
  close(fd);&lt;br /&gt;
  exit(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1613</id>
		<title>Comunica prin lpt</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1613"/>
				<updated>2005-12-16T11:26:36Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Programul de test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
Acesta se vrea un mini ghid despre controlul unui motor pas cu pas unipolar cu ajutorul linux-ului si a portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Motoarele pas cu pas unipoloare==&lt;br /&gt;
Motoarele la care voi face referinta sunt motoare de curent continuu care se alimenteaza la 12-25V si au proprietatea de a putea&lt;br /&gt;
controla fiecare pas facut de aceste motoare. Un pas are de obicei 1,8 grade, ceea ce inseamna ca o rotatie completa inseamna 200&lt;br /&gt;
de pasi.&lt;br /&gt;
Motoarele pas cu pas unipolare au de obicei 5 sau 6 fire, exista si cu 8 fire dar exista posibilitatea ca acestea sa fie si bipolare.&lt;br /&gt;
&lt;br /&gt;
Schema unui motor cu 5 fire [[Image:5wire.jpg]] &lt;br /&gt;
Schema unui motor cu 6 fire [[Image:6wire.jpg]]&lt;br /&gt;
&lt;br /&gt;
Asa cum observam din cele doua scheme constructia este asemanatoare, singura diferenta fiind alimentarea. La motorul cu 5 fire numai un fir este de alimentare (firul marcat common) restul de control la cel  cu 6 fire sunt 2 fire de alimentare (firele marcate A si B). Daca la motorul cu 6 fire unim cele 2 fire de alimentare obtinem un motor pas cu pas cu 5. Concluzia daca invatam sa comandam unul din cele 2 il vom comanda si pe celalalt. &lt;br /&gt;
Pentru a afla care sunt firele noastre de alimentare vom masura rezistenta intre fire. Intre firul de alimentare si capete va fi o &lt;br /&gt;
rezistenta pe jumatate decat in cazul masurarii rezistentei intre 2 capete. La motorul cu 6 fire Orice combinatie A(+-)B(+-) nu va intoarce nici o rezistenta cele 2 fire nefiind legate.&lt;br /&gt;
Motoarele pas cu pas se controleaza aplicand o tensiune pe firele de control. Modul de control este prezentat in figura urmatoare:&lt;br /&gt;
&lt;br /&gt;
[[Image:Step.gif]]&lt;br /&gt;
&lt;br /&gt;
Pentru schimbarea sensului de rotatie pur si simplu se trimit comenzile in sens invers.&lt;br /&gt;
&lt;br /&gt;
==Schema portului lpt==&lt;br /&gt;
[[Image:Lpt.jpg]]&lt;br /&gt;
Asa cum se vede si din imagine pinii 18-25 sunt pentru masa, iar cei folositi de noi pentru transmiterea datelor vor fi pinii 2-8&lt;br /&gt;
&lt;br /&gt;
==Cum facem montajul==&lt;br /&gt;
Deoarece motorul lucreaza cu tensiuni cu mult peste posibilitatile portului nostru lpt. O sa avem nevoie de o alimentare externa,&lt;br /&gt;
dar si de o protectie a portului nostru. Pentru aceasta o sa folosim cipul uln2003 sau uln2803a si o dioda zenner de 12V&lt;br /&gt;
&lt;br /&gt;
Schema este urmatoarea [[Image:Lptmot.jpg]]&lt;br /&gt;
&lt;br /&gt;
Trebuie sa mai adaugam o legatura intre unul din pinii de gnd(18-25) de la portul lpt cu masa si una de la pin-ul gnd al chip-ului cu masa. Si sa avem grija, ca firele motorului sa fie legate A+B+A-B- la pinii 2-5 ai portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Programul de test==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm/io.h&amp;gt;&lt;br /&gt;
#define porta 0x378&lt;br /&gt;
&lt;br /&gt;
const char *filename;&lt;br /&gt;
int main(int argc,char *argv[]) {&lt;br /&gt;
 &lt;br /&gt;
  int fd;&lt;br /&gt;
  ioperm(porta,3L,1);&lt;br /&gt;
  filename = &amp;quot;/dev/lp0&amp;quot;;&lt;br /&gt;
  fd = open(filename, O_RDWR);&lt;br /&gt;
   if (fd &amp;lt; 0)&lt;br /&gt;
   {&lt;br /&gt;
     printf(&amp;quot;bla bla bla eroare %s\n&amp;quot;, filename);&lt;br /&gt;
     exit(1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
for (;;){&lt;br /&gt;
&lt;br /&gt;
   outb(3,porta);&lt;br /&gt;
   usleep(20*1000);&lt;br /&gt;
   outb(6,porta);&lt;br /&gt;
   usleep(20*1000);&lt;br /&gt;
   outb(12,porta);&lt;br /&gt;
   usleep(20*1000);&lt;br /&gt;
   outb(9,porta);&lt;br /&gt;
   usleep(20*1000);&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
  close(fd);&lt;br /&gt;
  exit(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=1612</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=1612"/>
				<updated>2005-12-16T11:18:36Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &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 ;-) Vă rugăm, folosiţi '''doar''' [[linux360:Sandbox|caietul de ciorne]] pentru încercări şi probe.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* Ultimele 10 [[:Category:HowTo|ghiduri]] actualizate:&lt;br /&gt;
** [[Comunica prin lpt]] ([[:Category:Programming|programare]])&lt;br /&gt;
** [[Cum dau net mai departe]]([[:Category:Networking|retea]])&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;
** [[Download si instalare E17 din CVS|Instalare automatizată E17 CVS]] ([[:Category:GEs|medii grafice]])&lt;br /&gt;
** [[Instalare Qemu|Instalarea emulatorului Qemu]] ([[:Category:VMs|maşini virtuale]])&lt;br /&gt;
** [[MRTG cu IPFM]] ([[:Category:WebStats|statistici grafice pe web]])&lt;br /&gt;
** [[Knoppix remastering|Reeditare Knoppix]] ([[:Category:Distributions|distribuţii]]/[[:Category:LiveCD|CD independent]]/[[:Category:Knoppix|Knoppix]])&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;
** [[Swap prin NFS|Memorie paginată peste NFS]] ([[:Category:Filesystems|sisteme de fişiere]]/[[:Category:Networking|reţea]]/[[:Category:Tips'n'tricks|ponturi]])&lt;br /&gt;
** [[ATi video (2.6)|Placă video ATi pe nucleu 2.6]] ([[:Category:Drivers|drivere]])&lt;br /&gt;
** [[Imagini partitii cu dd|Imagini de partiţii cu &amp;lt;tt&amp;gt;dd&amp;lt;/tt&amp;gt;]] ([[:Category:Backup|backup]])&lt;br /&gt;
* Ultimele 10 [[:Category:Tutorial|tutoriale]] actualizate:&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;
* Ultimele 10 [[:Category:Collection|colecţii]] actualizate:&lt;br /&gt;
** [[Scripturi BASH|Scripturi Bash utile]] ([[:Category:Programming|programare]])&lt;br /&gt;
* Ultimele 10 [[:Category:Presentation|prezentări]] actualizate:&lt;br /&gt;
** [[KDSFlash]] ([[:Category:Graphics|grafică]]/[[:Category:Animation|animaţie]]/[[:Category:Programming|programare]])&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1611</id>
		<title>Comunica prin lpt</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1611"/>
				<updated>2005-12-16T11:17:05Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Programul de test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
Acesta se vrea un mini ghid despre controlul unui motor pas cu pas unipolar cu ajutorul linux-ului si a portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Motoarele pas cu pas unipoloare==&lt;br /&gt;
Motoarele la care voi face referinta sunt motoare de curent continuu care se alimenteaza la 12-25V si au proprietatea de a putea&lt;br /&gt;
controla fiecare pas facut de aceste motoare. Un pas are de obicei 1,8 grade, ceea ce inseamna ca o rotatie completa inseamna 200&lt;br /&gt;
de pasi.&lt;br /&gt;
Motoarele pas cu pas unipolare au de obicei 5 sau 6 fire, exista si cu 8 fire dar exista posibilitatea ca acestea sa fie si bipolare.&lt;br /&gt;
&lt;br /&gt;
Schema unui motor cu 5 fire [[Image:5wire.jpg]] &lt;br /&gt;
Schema unui motor cu 6 fire [[Image:6wire.jpg]]&lt;br /&gt;
&lt;br /&gt;
Asa cum observam din cele doua scheme constructia este asemanatoare, singura diferenta fiind alimentarea. La motorul cu 5 fire numai un fir este de alimentare (firul marcat common) restul de control la cel  cu 6 fire sunt 2 fire de alimentare (firele marcate A si B). Daca la motorul cu 6 fire unim cele 2 fire de alimentare obtinem un motor pas cu pas cu 5. Concluzia daca invatam sa comandam unul din cele 2 il vom comanda si pe celalalt. &lt;br /&gt;
Pentru a afla care sunt firele noastre de alimentare vom masura rezistenta intre fire. Intre firul de alimentare si capete va fi o &lt;br /&gt;
rezistenta pe jumatate decat in cazul masurarii rezistentei intre 2 capete. La motorul cu 6 fire Orice combinatie A(+-)B(+-) nu va intoarce nici o rezistenta cele 2 fire nefiind legate.&lt;br /&gt;
Motoarele pas cu pas se controleaza aplicand o tensiune pe firele de control. Modul de control este prezentat in figura urmatoare:&lt;br /&gt;
&lt;br /&gt;
[[Image:Step.gif]]&lt;br /&gt;
&lt;br /&gt;
Pentru schimbarea sensului de rotatie pur si simplu se trimit comenzile in sens invers.&lt;br /&gt;
&lt;br /&gt;
==Schema portului lpt==&lt;br /&gt;
[[Image:Lpt.jpg]]&lt;br /&gt;
Asa cum se vede si din imagine pinii 18-25 sunt pentru masa, iar cei folositi de noi pentru transmiterea datelor vor fi pinii 2-8&lt;br /&gt;
&lt;br /&gt;
==Cum facem montajul==&lt;br /&gt;
Deoarece motorul lucreaza cu tensiuni cu mult peste posibilitatile portului nostru lpt. O sa avem nevoie de o alimentare externa,&lt;br /&gt;
dar si de o protectie a portului nostru. Pentru aceasta o sa folosim cipul uln2003 sau uln2803a si o dioda zenner de 12V&lt;br /&gt;
&lt;br /&gt;
Schema este urmatoarea [[Image:Lptmot.jpg]]&lt;br /&gt;
&lt;br /&gt;
Trebuie sa mai adaugam o legatura intre unul din pinii de gnd(18-25) de la portul lpt cu masa si una de la pin-ul gnd al chip-ului cu masa. Si sa avem grija, ca firele motorului sa fie legate A+B+A-B- la pinii 2-5 ai portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Programul de test==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm/io.h&amp;gt;&lt;br /&gt;
#define porta 0x378&lt;br /&gt;
&lt;br /&gt;
const char *filename;&lt;br /&gt;
int main(int argc,char *argv[]) {&lt;br /&gt;
  int step[] ={1, 2,4,0};&lt;br /&gt;
  int i;&lt;br /&gt;
  int fd, data;&lt;br /&gt;
  ioperm(porta,3L,1);&lt;br /&gt;
  filename = &amp;quot;/dev/lp0&amp;quot;;&lt;br /&gt;
  fd = open(filename, O_RDWR);&lt;br /&gt;
   if (fd &amp;lt; 0)&lt;br /&gt;
   {&lt;br /&gt;
     printf(&amp;quot;bla bla bla eroare %s\n&amp;quot;, filename);&lt;br /&gt;
     exit(1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
for (;;){&lt;br /&gt;
&lt;br /&gt;
   outb(3,porta);&lt;br /&gt;
   usleep(1*1000);&lt;br /&gt;
   outb(6,porta);&lt;br /&gt;
   usleep(1*1000);&lt;br /&gt;
   outb(12,porta);&lt;br /&gt;
   usleep(1*1000);&lt;br /&gt;
   outb(9,porta);&lt;br /&gt;
   usleep(1*1000);&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
  close(fd);&lt;br /&gt;
  exit(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1610</id>
		<title>Comunica prin lpt</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1610"/>
				<updated>2005-12-16T11:13:33Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Motoarele pas cu pas unipoloare */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
Acesta se vrea un mini ghid despre controlul unui motor pas cu pas unipolar cu ajutorul linux-ului si a portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Motoarele pas cu pas unipoloare==&lt;br /&gt;
Motoarele la care voi face referinta sunt motoare de curent continuu care se alimenteaza la 12-25V si au proprietatea de a putea&lt;br /&gt;
controla fiecare pas facut de aceste motoare. Un pas are de obicei 1,8 grade, ceea ce inseamna ca o rotatie completa inseamna 200&lt;br /&gt;
de pasi.&lt;br /&gt;
Motoarele pas cu pas unipolare au de obicei 5 sau 6 fire, exista si cu 8 fire dar exista posibilitatea ca acestea sa fie si bipolare.&lt;br /&gt;
&lt;br /&gt;
Schema unui motor cu 5 fire [[Image:5wire.jpg]] &lt;br /&gt;
Schema unui motor cu 6 fire [[Image:6wire.jpg]]&lt;br /&gt;
&lt;br /&gt;
Asa cum observam din cele doua scheme constructia este asemanatoare, singura diferenta fiind alimentarea. La motorul cu 5 fire numai un fir este de alimentare (firul marcat common) restul de control la cel  cu 6 fire sunt 2 fire de alimentare (firele marcate A si B). Daca la motorul cu 6 fire unim cele 2 fire de alimentare obtinem un motor pas cu pas cu 5. Concluzia daca invatam sa comandam unul din cele 2 il vom comanda si pe celalalt. &lt;br /&gt;
Pentru a afla care sunt firele noastre de alimentare vom masura rezistenta intre fire. Intre firul de alimentare si capete va fi o &lt;br /&gt;
rezistenta pe jumatate decat in cazul masurarii rezistentei intre 2 capete. La motorul cu 6 fire Orice combinatie A(+-)B(+-) nu va intoarce nici o rezistenta cele 2 fire nefiind legate.&lt;br /&gt;
Motoarele pas cu pas se controleaza aplicand o tensiune pe firele de control. Modul de control este prezentat in figura urmatoare:&lt;br /&gt;
&lt;br /&gt;
[[Image:Step.gif]]&lt;br /&gt;
&lt;br /&gt;
Pentru schimbarea sensului de rotatie pur si simplu se trimit comenzile in sens invers.&lt;br /&gt;
&lt;br /&gt;
==Schema portului lpt==&lt;br /&gt;
[[Image:Lpt.jpg]]&lt;br /&gt;
Asa cum se vede si din imagine pinii 18-25 sunt pentru masa, iar cei folositi de noi pentru transmiterea datelor vor fi pinii 2-8&lt;br /&gt;
&lt;br /&gt;
==Cum facem montajul==&lt;br /&gt;
Deoarece motorul lucreaza cu tensiuni cu mult peste posibilitatile portului nostru lpt. O sa avem nevoie de o alimentare externa,&lt;br /&gt;
dar si de o protectie a portului nostru. Pentru aceasta o sa folosim cipul uln2003 sau uln2803a si o dioda zenner de 12V&lt;br /&gt;
&lt;br /&gt;
Schema este urmatoarea [[Image:Lptmot.jpg]]&lt;br /&gt;
&lt;br /&gt;
Trebuie sa mai adaugam o legatura intre unul din pinii de gnd(18-25) de la portul lpt cu masa si una de la pin-ul gnd al chip-ului cu masa. Si sa avem grija, ca firele motorului sa fie legate A+B+A-B- la pinii 2-5 ai portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Programul de test==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm/io.h&amp;gt;&lt;br /&gt;
#define porta 0x378&lt;br /&gt;
&lt;br /&gt;
const char *filename;&lt;br /&gt;
int main(int argc,char *argv[]) {&lt;br /&gt;
  int step[] ={1, 2,4,0};&lt;br /&gt;
  int i;&lt;br /&gt;
  int fd, data;&lt;br /&gt;
  ioperm(porta,3L,1);&lt;br /&gt;
  filename = &amp;quot;/dev/lp0&amp;quot;;&lt;br /&gt;
  fd = open(filename, O_RDWR);&lt;br /&gt;
   if (fd &amp;lt; 0)&lt;br /&gt;
   {&lt;br /&gt;
     printf(&amp;quot;bla bla bla eroare %s\n&amp;quot;, filename);&lt;br /&gt;
     exit(1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
for (;;){&lt;br /&gt;
&lt;br /&gt;
   outb(3,porta);&lt;br /&gt;
   usleep(1*1000);&lt;br /&gt;
   outb(6,porta);&lt;br /&gt;
   usleep(1*1000);&lt;br /&gt;
   outb(12,porta);&lt;br /&gt;
   usleep(1*1000);&lt;br /&gt;
   outb(9,porta);&lt;br /&gt;
   usleep(1*1000);&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
  close(fd);&lt;br /&gt;
  exit(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=File:Step.gif&amp;diff=1609</id>
		<title>File:Step.gif</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=File:Step.gif&amp;diff=1609"/>
				<updated>2005-12-16T11:10:47Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1608</id>
		<title>Comunica prin lpt</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1608"/>
				<updated>2005-12-16T11:09:49Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Programul de test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
Acesta se vrea un mini ghid despre controlul unui motor pas cu pas unipolar cu ajutorul linux-ului si a portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Motoarele pas cu pas unipoloare==&lt;br /&gt;
Motoarele la care voi face referinta sunt motoare de curent continuu care se alimenteaza la 12-25V si au proprietatea de a putea&lt;br /&gt;
controla fiecare pas facut de aceste motoare. Un pas are de obicei 1,8 grade, ceea ce inseamna ca o rotatie completa inseamna 200&lt;br /&gt;
de pasi.&lt;br /&gt;
Motoarele pas cu pas unipolare au de obicei 5 sau 6 fire, exista si cu 8 fire dar exista posibilitatea ca acestea sa fie si bipolare.&lt;br /&gt;
&lt;br /&gt;
Schema unui motor cu 5 fire [[Image:5wire.jpg]] &lt;br /&gt;
Schema unui motor cu 6 fire [[Image:6wire.jpg]]&lt;br /&gt;
&lt;br /&gt;
Asa cum observam din cele doua scheme constructia este asemanatoare, singura diferenta fiind alimentarea. La motorul cu 5 fire numai un fir este de alimentare (firul marcat common) restul de control la cel  cu 6 fire sunt 2 fire de alimentare (firele marcate A si B). Daca la motorul cu 6 fire unim cele 2 fire de alimentare obtinem un motor pas cu pas cu 5. Concluzia daca invatam sa comandam unul din cele 2 il vom comanda si pe celalalt. &lt;br /&gt;
Pentru a afla care sunt firele noastre de alimentare vom masura rezistenta intre fire. Intre firul de alimentare si capete va fi o &lt;br /&gt;
rezistenta pe jumatate decat in cazul masurarii rezistentei intre 2 capete. La motorul cu 6 fire Orice combinatie A(+-)B(+-) nu va intoarce nici o rezistenta cele 2 fire nefiind legate.&lt;br /&gt;
&lt;br /&gt;
==Schema portului lpt==&lt;br /&gt;
[[Image:Lpt.jpg]]&lt;br /&gt;
Asa cum se vede si din imagine pinii 18-25 sunt pentru masa, iar cei folositi de noi pentru transmiterea datelor vor fi pinii 2-8&lt;br /&gt;
&lt;br /&gt;
==Cum facem montajul==&lt;br /&gt;
Deoarece motorul lucreaza cu tensiuni cu mult peste posibilitatile portului nostru lpt. O sa avem nevoie de o alimentare externa,&lt;br /&gt;
dar si de o protectie a portului nostru. Pentru aceasta o sa folosim cipul uln2003 sau uln2803a si o dioda zenner de 12V&lt;br /&gt;
&lt;br /&gt;
Schema este urmatoarea [[Image:Lptmot.jpg]]&lt;br /&gt;
&lt;br /&gt;
Trebuie sa mai adaugam o legatura intre unul din pinii de gnd(18-25) de la portul lpt cu masa si una de la pin-ul gnd al chip-ului cu masa. Si sa avem grija, ca firele motorului sa fie legate A+B+A-B- la pinii 2-5 ai portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Programul de test==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm/io.h&amp;gt;&lt;br /&gt;
#define porta 0x378&lt;br /&gt;
&lt;br /&gt;
const char *filename;&lt;br /&gt;
int main(int argc,char *argv[]) {&lt;br /&gt;
  int step[] ={1, 2,4,0};&lt;br /&gt;
  int i;&lt;br /&gt;
  int fd, data;&lt;br /&gt;
  ioperm(porta,3L,1);&lt;br /&gt;
  filename = &amp;quot;/dev/lp0&amp;quot;;&lt;br /&gt;
  fd = open(filename, O_RDWR);&lt;br /&gt;
   if (fd &amp;lt; 0)&lt;br /&gt;
   {&lt;br /&gt;
     printf(&amp;quot;bla bla bla eroare %s\n&amp;quot;, filename);&lt;br /&gt;
     exit(1);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
for (;;){&lt;br /&gt;
&lt;br /&gt;
   outb(3,porta);&lt;br /&gt;
   usleep(1*1000);&lt;br /&gt;
   outb(6,porta);&lt;br /&gt;
   usleep(1*1000);&lt;br /&gt;
   outb(12,porta);&lt;br /&gt;
   usleep(1*1000);&lt;br /&gt;
   outb(9,porta);&lt;br /&gt;
   usleep(1*1000);&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
  close(fd);&lt;br /&gt;
  exit(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1607</id>
		<title>Comunica prin lpt</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1607"/>
				<updated>2005-12-16T11:03:58Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Cum facem montajul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
Acesta se vrea un mini ghid despre controlul unui motor pas cu pas unipolar cu ajutorul linux-ului si a portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Motoarele pas cu pas unipoloare==&lt;br /&gt;
Motoarele la care voi face referinta sunt motoare de curent continuu care se alimenteaza la 12-25V si au proprietatea de a putea&lt;br /&gt;
controla fiecare pas facut de aceste motoare. Un pas are de obicei 1,8 grade, ceea ce inseamna ca o rotatie completa inseamna 200&lt;br /&gt;
de pasi.&lt;br /&gt;
Motoarele pas cu pas unipolare au de obicei 5 sau 6 fire, exista si cu 8 fire dar exista posibilitatea ca acestea sa fie si bipolare.&lt;br /&gt;
&lt;br /&gt;
Schema unui motor cu 5 fire [[Image:5wire.jpg]] &lt;br /&gt;
Schema unui motor cu 6 fire [[Image:6wire.jpg]]&lt;br /&gt;
&lt;br /&gt;
Asa cum observam din cele doua scheme constructia este asemanatoare, singura diferenta fiind alimentarea. La motorul cu 5 fire numai un fir este de alimentare (firul marcat common) restul de control la cel  cu 6 fire sunt 2 fire de alimentare (firele marcate A si B). Daca la motorul cu 6 fire unim cele 2 fire de alimentare obtinem un motor pas cu pas cu 5. Concluzia daca invatam sa comandam unul din cele 2 il vom comanda si pe celalalt. &lt;br /&gt;
Pentru a afla care sunt firele noastre de alimentare vom masura rezistenta intre fire. Intre firul de alimentare si capete va fi o &lt;br /&gt;
rezistenta pe jumatate decat in cazul masurarii rezistentei intre 2 capete. La motorul cu 6 fire Orice combinatie A(+-)B(+-) nu va intoarce nici o rezistenta cele 2 fire nefiind legate.&lt;br /&gt;
&lt;br /&gt;
==Schema portului lpt==&lt;br /&gt;
[[Image:Lpt.jpg]]&lt;br /&gt;
Asa cum se vede si din imagine pinii 18-25 sunt pentru masa, iar cei folositi de noi pentru transmiterea datelor vor fi pinii 2-8&lt;br /&gt;
&lt;br /&gt;
==Cum facem montajul==&lt;br /&gt;
Deoarece motorul lucreaza cu tensiuni cu mult peste posibilitatile portului nostru lpt. O sa avem nevoie de o alimentare externa,&lt;br /&gt;
dar si de o protectie a portului nostru. Pentru aceasta o sa folosim cipul uln2003 sau uln2803a si o dioda zenner de 12V&lt;br /&gt;
&lt;br /&gt;
Schema este urmatoarea [[Image:Lptmot.jpg]]&lt;br /&gt;
&lt;br /&gt;
Trebuie sa mai adaugam o legatura intre unul din pinii de gnd(18-25) de la portul lpt cu masa si una de la pin-ul gnd al chip-ului cu masa. Si sa avem grija, ca firele motorului sa fie legate A+B+A-B- la pinii 2-5 ai portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Programul de test==&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1606</id>
		<title>Comunica prin lpt</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Comunica_prin_lpt&amp;diff=1606"/>
				<updated>2005-12-16T11:03:31Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
Acesta se vrea un mini ghid despre controlul unui motor pas cu pas unipolar cu ajutorul linux-ului si a portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Motoarele pas cu pas unipoloare==&lt;br /&gt;
Motoarele la care voi face referinta sunt motoare de curent continuu care se alimenteaza la 12-25V si au proprietatea de a putea&lt;br /&gt;
controla fiecare pas facut de aceste motoare. Un pas are de obicei 1,8 grade, ceea ce inseamna ca o rotatie completa inseamna 200&lt;br /&gt;
de pasi.&lt;br /&gt;
Motoarele pas cu pas unipolare au de obicei 5 sau 6 fire, exista si cu 8 fire dar exista posibilitatea ca acestea sa fie si bipolare.&lt;br /&gt;
&lt;br /&gt;
Schema unui motor cu 5 fire [[Image:5wire.jpg]] &lt;br /&gt;
Schema unui motor cu 6 fire [[Image:6wire.jpg]]&lt;br /&gt;
&lt;br /&gt;
Asa cum observam din cele doua scheme constructia este asemanatoare, singura diferenta fiind alimentarea. La motorul cu 5 fire numai un fir este de alimentare (firul marcat common) restul de control la cel  cu 6 fire sunt 2 fire de alimentare (firele marcate A si B). Daca la motorul cu 6 fire unim cele 2 fire de alimentare obtinem un motor pas cu pas cu 5. Concluzia daca invatam sa comandam unul din cele 2 il vom comanda si pe celalalt. &lt;br /&gt;
Pentru a afla care sunt firele noastre de alimentare vom masura rezistenta intre fire. Intre firul de alimentare si capete va fi o &lt;br /&gt;
rezistenta pe jumatate decat in cazul masurarii rezistentei intre 2 capete. La motorul cu 6 fire Orice combinatie A(+-)B(+-) nu va intoarce nici o rezistenta cele 2 fire nefiind legate.&lt;br /&gt;
&lt;br /&gt;
==Schema portului lpt==&lt;br /&gt;
[[Image:Lpt.jpg]]&lt;br /&gt;
Asa cum se vede si din imagine pinii 18-25 sunt pentru masa, iar cei folositi de noi pentru transmiterea datelor vor fi pinii 2-8&lt;br /&gt;
&lt;br /&gt;
==Cum facem montajul==&lt;br /&gt;
Deoarece motorul lucreaza cu tensiuni cu mult peste posibilitatile portului nostru lpt. O sa avem nevoie de o alimentare externa,&lt;br /&gt;
dar si de o protectie a portului nostru. Pentru aceasta o sa folosim cipul uln2003 sau uln2803a si o dioda zenner de 12V&lt;br /&gt;
&lt;br /&gt;
Schema este urmatoarea [[Image:Lptmot.jpg]]&lt;br /&gt;
Trebuie sa mai adaugam o legatura intre unul din pinii de gnd(18-25) de la portul lpt cu masa si una de la pin-ul gnd al chip-ului cu masa. Si sa avem grija, ca firele motorului sa fie legate A+B+A-B- la pinii 2-5 ai portului lpt.&lt;br /&gt;
&lt;br /&gt;
==Programul de test==&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=File:Lptmot.jpg&amp;diff=1605</id>
		<title>File:Lptmot.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=File:Lptmot.jpg&amp;diff=1605"/>
				<updated>2005-12-16T10:49:49Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=File:Lpt.jpg&amp;diff=1604</id>
		<title>File:Lpt.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=File:Lpt.jpg&amp;diff=1604"/>
				<updated>2005-12-16T10:22:59Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=File:6wire.jpg&amp;diff=1603</id>
		<title>File:6wire.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=File:6wire.jpg&amp;diff=1603"/>
				<updated>2005-12-16T10:19:12Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=File:5wire.jpg&amp;diff=1602</id>
		<title>File:5wire.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=File:5wire.jpg&amp;diff=1602"/>
				<updated>2005-12-16T10:18:42Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: Motor pas cu pas unipolar 5 fire&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Motor pas cu pas unipolar 5 fire&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=1601</id>
		<title>Cum dau net mai departe</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=1601"/>
				<updated>2005-12-15T23:18:14Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Final */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scopul Ghidului==&lt;br /&gt;
Setarea unui server de internet folosind SNAT&lt;br /&gt;
&lt;br /&gt;
==Configurarea Serverului==&lt;br /&gt;
Mai intai configuram net-ul pentru server. In functie de distributie sunt utilitare care fac acest lucru automat.&lt;br /&gt;
Asa cum bine stim (sau ar trebui) majoritatea fisierelor de configurare a unui SO linux se gasesc in directorul /etc , iar scripturile&lt;br /&gt;
de inceput in /etc/rc.d pe sistemele ce folosesc sistemul BSD iar pe celelalte in /etc/init.d/ . Pentru a afla cum sa setezi net-ul pentru distributia ta consulta manualul respectivei distributii.&lt;br /&gt;
Setarea manuala a retelei (valabila pentru toate distributiile) se face cu urmatoarele comenzi (presupunand ca suportul necesar pentru&lt;br /&gt;
placile de retea se afla in kernel sau modulele aferente sunt incarcate):&lt;br /&gt;
Scriptul urmator se va salva ca net.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
ip_net=10.0.23.32&lt;br /&gt;
netmask_net=255.255.0.0&lt;br /&gt;
gateway_net=10.0.0.1&lt;br /&gt;
dns1=123.123.123.123&lt;br /&gt;
dns2=123.123.123.124&lt;br /&gt;
ip_retea=192.168.0.1&lt;br /&gt;
netmas_retea=255.255.255.0&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
#configurarea net-ului&lt;br /&gt;
/sbin/ifconfig $placa_net $ip_net netmask $netmask_net &lt;br /&gt;
/sbin/route add default gw $gateway_net metric 1&lt;br /&gt;
echo &amp;quot;$dns1&amp;quot;&amp;gt;/etc/resolv.conf&lt;br /&gt;
echo &amp;quot;$dns2&amp;quot;&amp;gt;&amp;gt;/etc/resolv.conf&lt;br /&gt;
#configurarea retelei&lt;br /&gt;
/sbin/ifconfig $placa_retea netmask $netmask_retea&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configurarea SNAT-ului==&lt;br /&gt;
Scriptul urmator se va salva snat.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
clasa_retea=192.168.0.0&lt;br /&gt;
iptables=/usr/sbin/iptables&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
echo &amp;quot;1&amp;quot;&amp;gt;/proc/sys/net/ipv4/ip_forward&lt;br /&gt;
$iptables -t nat -F&lt;br /&gt;
$iptables -F FORWARD&lt;br /&gt;
#iptables -P FORWARD DROP&lt;br /&gt;
$iptables -t nat -A POSTROUTING -o $placa_net -j MASQUERADE&lt;br /&gt;
$iptables -A FORWARD -i $placa_retea -j ACCEPT&lt;br /&gt;
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Final==&lt;br /&gt;
Asa acum ca avem cele 2 scripturi urmeaza sa le facem executabile si sa le punem sa porneasca la boot-are.&lt;br /&gt;
Pentru a le face executabile vom da comenzile:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod +x net.sh&lt;br /&gt;
# chmod +x snat.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;quot;#&amp;quot; simbolizeaza prompt-ul de root.&lt;br /&gt;
Urmatorul pas este adaugarea lor in scriptul rc.local care il gasiti fie in /etc/rc.d fie in /etc/init.d sau in locul indicat &lt;br /&gt;
de manualul distributiei.&lt;br /&gt;
&lt;br /&gt;
Iar acum suntem in posesia unui server de linux care stie sa si &amp;quot;dea&amp;quot; net-ul mai departe. Si cum stiu ca sunteti niste admini &lt;br /&gt;
responsabili va apucati sa cititi mai multe despre iptables si cum se securizeaza acest server si ce servicii le mai puteti &lt;br /&gt;
oferi clientilor.&lt;br /&gt;
&lt;br /&gt;
[[Category:Networking]][[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=1600</id>
		<title>Cum dau net mai departe</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=1600"/>
				<updated>2005-12-15T23:03:43Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Final */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scopul Ghidului==&lt;br /&gt;
Setarea unui server de internet folosind SNAT&lt;br /&gt;
&lt;br /&gt;
==Configurarea Serverului==&lt;br /&gt;
Mai intai configuram net-ul pentru server. In functie de distributie sunt utilitare care fac acest lucru automat.&lt;br /&gt;
Asa cum bine stim (sau ar trebui) majoritatea fisierelor de configurare a unui SO linux se gasesc in directorul /etc , iar scripturile&lt;br /&gt;
de inceput in /etc/rc.d pe sistemele ce folosesc sistemul BSD iar pe celelalte in /etc/init.d/ . Pentru a afla cum sa setezi net-ul pentru distributia ta consulta manualul respectivei distributii.&lt;br /&gt;
Setarea manuala a retelei (valabila pentru toate distributiile) se face cu urmatoarele comenzi (presupunand ca suportul necesar pentru&lt;br /&gt;
placile de retea se afla in kernel sau modulele aferente sunt incarcate):&lt;br /&gt;
Scriptul urmator se va salva ca net.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
ip_net=10.0.23.32&lt;br /&gt;
netmask_net=255.255.0.0&lt;br /&gt;
gateway_net=10.0.0.1&lt;br /&gt;
dns1=123.123.123.123&lt;br /&gt;
dns2=123.123.123.124&lt;br /&gt;
ip_retea=192.168.0.1&lt;br /&gt;
netmas_retea=255.255.255.0&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
#configurarea net-ului&lt;br /&gt;
/sbin/ifconfig $placa_net $ip_net netmask $netmask_net &lt;br /&gt;
/sbin/route add default gw $gateway_net metric 1&lt;br /&gt;
echo &amp;quot;$dns1&amp;quot;&amp;gt;/etc/resolv.conf&lt;br /&gt;
echo &amp;quot;$dns2&amp;quot;&amp;gt;&amp;gt;/etc/resolv.conf&lt;br /&gt;
#configurarea retelei&lt;br /&gt;
/sbin/ifconfig $placa_retea netmask $netmask_retea&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configurarea SNAT-ului==&lt;br /&gt;
Scriptul urmator se va salva snat.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
clasa_retea=192.168.0.0&lt;br /&gt;
iptables=/usr/sbin/iptables&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
echo &amp;quot;1&amp;quot;&amp;gt;/proc/sys/net/ipv4/ip_forward&lt;br /&gt;
$iptables -t nat -F&lt;br /&gt;
$iptables -F FORWARD&lt;br /&gt;
#iptables -P FORWARD DROP&lt;br /&gt;
$iptables -t nat -A POSTROUTING -o $placa_net -j MASQUERADE&lt;br /&gt;
$iptables -A FORWARD -i $placa_retea -j ACCEPT&lt;br /&gt;
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Final==&lt;br /&gt;
Asa acum ca avem cele 2 scripturi urmeaza sa le facem executabile si sa le punem sa porneasca la boot-are.&lt;br /&gt;
Pentru a le face executabile vom da comenzile:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod +x net.sh&lt;br /&gt;
# chmod +x snat.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;quot;#&amp;quot; simbolizeaza prompt-ul de root.&lt;br /&gt;
Urmatorul pas este adaugarea lor in scriptul rc.local care il gasiti fie in /etc/rc.d fie in /etc/init.d sau in locul indicat &lt;br /&gt;
de manualul distributiei.&lt;br /&gt;
&lt;br /&gt;
Iar acum suntem in posesia unui server de linux care stie sa si &amp;quot;dea&amp;quot; net-ul mai departe. Si cum stiu ca sunteti niste admini &lt;br /&gt;
responsabili va apucati sa cititi mai multe despre iptables si cum se securizeaza acest server si ce servicii le mai puteti &lt;br /&gt;
oferi clientilor.&lt;br /&gt;
&lt;br /&gt;
[[Category:Networking]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=User:Unixro&amp;diff=1599</id>
		<title>User:Unixro</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=User:Unixro&amp;diff=1599"/>
				<updated>2005-12-15T22:59:24Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vintila Mihai [mailto:unixro@gmail.com Adresa electronica] Y!M: n1c_v&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=User:Unixro&amp;diff=1598</id>
		<title>User:Unixro</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=User:Unixro&amp;diff=1598"/>
				<updated>2005-12-15T22:57:12Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mihai alias unixro&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Talk:Cum_dau_net_mai_departe&amp;diff=1597</id>
		<title>Talk:Cum dau net mai departe</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Talk:Cum_dau_net_mai_departe&amp;diff=1597"/>
				<updated>2005-12-15T22:56:35Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Primul pas==&lt;br /&gt;
Uite asa am inceput serialul cum sa fac server in 2 timp si 3 miscari si sa profit de asta fara sa stiu nimic (=&amp;gt;&amp;gt; [[User:Unixro|unixro]] &amp;lt;&amp;lt;=)&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=1596</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Main_Page&amp;diff=1596"/>
				<updated>2005-12-15T22:49:07Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &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 ;-) Vă rugăm, folosiţi '''doar''' [[linux360:Sandbox|caietul de ciorne]] pentru încercări şi probe.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* Ultimele 10 [[:Category:HowTo|ghiduri]] actualizate:&lt;br /&gt;
** [[Cum dau net mai departe]]([[:Category:Networking|retea]])&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;
** [[Download si instalare E17 din CVS|Instalare automatizată E17 CVS]] ([[:Category:GEs|medii grafice]])&lt;br /&gt;
** [[Instalare Qemu|Instalarea emulatorului Qemu]] ([[:Category:VMs|maşini virtuale]])&lt;br /&gt;
** [[MRTG cu IPFM]] ([[:Category:WebStats|statistici grafice pe web]])&lt;br /&gt;
** [[Knoppix remastering|Reeditare Knoppix]] ([[:Category:Distributions|distribuţii]]/[[:Category:LiveCD|CD independent]]/[[:Category:Knoppix|Knoppix]])&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;
** [[Swap prin NFS|Memorie paginată peste NFS]] ([[:Category:Filesystems|sisteme de fişiere]]/[[:Category:Networking|reţea]]/[[:Category:Tips'n'tricks|ponturi]])&lt;br /&gt;
** [[ATi video (2.6)|Placă video ATi pe nucleu 2.6]] ([[:Category:Drivers|drivere]])&lt;br /&gt;
** [[Imagini partitii cu dd|Imagini de partiţii cu &amp;lt;tt&amp;gt;dd&amp;lt;/tt&amp;gt;]] ([[:Category:Backup|backup]])&lt;br /&gt;
* Ultimele 10 [[:Category:Tutorial|tutoriale]] actualizate:&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;
* Ultimele 10 [[:Category:Collection|colecţii]] actualizate:&lt;br /&gt;
** [[Scripturi BASH|Scripturi Bash utile]] ([[:Category:Programming|programare]])&lt;br /&gt;
* Ultimele 10 [[:Category:Presentation|prezentări]] actualizate:&lt;br /&gt;
** [[KDSFlash]] ([[:Category:Graphics|grafică]]/[[:Category:Animation|animaţie]]/[[:Category:Programming|programare]])&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=1595</id>
		<title>Cum dau net mai departe</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=1595"/>
				<updated>2005-12-15T22:48:03Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scopul Ghidului==&lt;br /&gt;
Setarea unui server de internet folosind SNAT&lt;br /&gt;
&lt;br /&gt;
==Configurarea Serverului==&lt;br /&gt;
Mai intai configuram net-ul pentru server. In functie de distributie sunt utilitare care fac acest lucru automat.&lt;br /&gt;
Asa cum bine stim (sau ar trebui) majoritatea fisierelor de configurare a unui SO linux se gasesc in directorul /etc , iar scripturile&lt;br /&gt;
de inceput in /etc/rc.d pe sistemele ce folosesc sistemul BSD iar pe celelalte in /etc/init.d/ . Pentru a afla cum sa setezi net-ul pentru distributia ta consulta manualul respectivei distributii.&lt;br /&gt;
Setarea manuala a retelei (valabila pentru toate distributiile) se face cu urmatoarele comenzi (presupunand ca suportul necesar pentru&lt;br /&gt;
placile de retea se afla in kernel sau modulele aferente sunt incarcate):&lt;br /&gt;
Scriptul urmator se va salva ca net.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
ip_net=10.0.23.32&lt;br /&gt;
netmask_net=255.255.0.0&lt;br /&gt;
gateway_net=10.0.0.1&lt;br /&gt;
dns1=123.123.123.123&lt;br /&gt;
dns2=123.123.123.124&lt;br /&gt;
ip_retea=192.168.0.1&lt;br /&gt;
netmas_retea=255.255.255.0&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
#configurarea net-ului&lt;br /&gt;
/sbin/ifconfig $placa_net $ip_net netmask $netmask_net &lt;br /&gt;
/sbin/route add default gw $gateway_net metric 1&lt;br /&gt;
echo &amp;quot;$dns1&amp;quot;&amp;gt;/etc/resolv.conf&lt;br /&gt;
echo &amp;quot;$dns2&amp;quot;&amp;gt;&amp;gt;/etc/resolv.conf&lt;br /&gt;
#configurarea retelei&lt;br /&gt;
/sbin/ifconfig $placa_retea netmask $netmask_retea&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configurarea SNAT-ului==&lt;br /&gt;
Scriptul urmator se va salva snat.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
clasa_retea=192.168.0.0&lt;br /&gt;
iptables=/usr/sbin/iptables&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
echo &amp;quot;1&amp;quot;&amp;gt;/proc/sys/net/ipv4/ip_forward&lt;br /&gt;
$iptables -t nat -F&lt;br /&gt;
$iptables -F FORWARD&lt;br /&gt;
#iptables -P FORWARD DROP&lt;br /&gt;
$iptables -t nat -A POSTROUTING -o $placa_net -j MASQUERADE&lt;br /&gt;
$iptables -A FORWARD -i $placa_retea -j ACCEPT&lt;br /&gt;
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Final==&lt;br /&gt;
Asa acum ca avem cele 2 scripturi urmeaza sa le facem executabile si sa le punem sa porneasca la boot-are.&lt;br /&gt;
Pentru a le face executabile vom da comenzile:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod +x net.sh&lt;br /&gt;
# chmod +x snat.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;quot;#&amp;quot; simbolizeaza promt-ul de root.&lt;br /&gt;
Urmatorul pas este adaugarea lor in scriptul rc.local care il gasiti fie in /etc/rc.d fie in /etc/init.d sau in locul indicat &lt;br /&gt;
de manualul distributiei.&lt;br /&gt;
&lt;br /&gt;
Iar acum suntem in posesia unui server de linux care stie sa si &amp;quot;dea&amp;quot; net-ul mai departe. Si cum stiu ca sunteti niste admini &lt;br /&gt;
responsabili va apucati sa cititi mai multe despre iptables si cum se securizeaza acest server si ce servicii le mai puteti &lt;br /&gt;
oferi clientilor.&lt;br /&gt;
&lt;br /&gt;
[[Category:Networking]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=1594</id>
		<title>Cum dau net mai departe</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Cum_dau_net_mai_departe&amp;diff=1594"/>
				<updated>2005-12-15T22:40:27Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scopul Ghidului==&lt;br /&gt;
Setarea unui server de internet folosind SNAT&lt;br /&gt;
&lt;br /&gt;
==Configurarea Serverului==&lt;br /&gt;
Mai intai configuram net-ul pentru server. In functie de distributie sunt utilitare care fac acest lucru automat.&lt;br /&gt;
Asa cum bine stim (sau ar trebui) majoritatea fisierelor de configurare a unui SO linux se gasesc in directorul /etc , iar scripturile&lt;br /&gt;
de inceput in /etc/rc.d pe sistemele ce folosesc sistemul BSD iar pe celelalte in /etc/init.d/ . Pentru a afla cum sa setezi net-ul pentru distributia ta consulta manualul respectivei distributii.&lt;br /&gt;
Setarea manuala a retelei (valabila pentru toate distributiile) se face cu urmatoarele comenzi (presupunand ca suportul necesar pentru&lt;br /&gt;
placile de retea se afla in kernel sau modulele aferente sunt incarcate):&lt;br /&gt;
Scriptul urmator se va salva ca net.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
ip_net=10.0.23.32&lt;br /&gt;
netmask_net=255.255.0.0&lt;br /&gt;
gateway_net=10.0.0.1&lt;br /&gt;
dns1=123.123.123.123&lt;br /&gt;
dns2=123.123.123.124&lt;br /&gt;
ip_retea=192.168.0.1&lt;br /&gt;
netmas_retea=255.255.255.0&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
#configurarea net-ului&lt;br /&gt;
/sbin/ifconfig $placa_net $ip_net netmask $netmask_net &lt;br /&gt;
/sbin/route add default gw $gateway_net metric 1&lt;br /&gt;
echo &amp;quot;$dns1&amp;quot;&amp;gt;/etc/resolv.conf&lt;br /&gt;
echo &amp;quot;$dns2&amp;quot;&amp;gt;&amp;gt;/etc/resolv.conf&lt;br /&gt;
#configurarea retelei&lt;br /&gt;
/sbin/ifconfig $placa_retea netmask $netmask_retea&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configurarea SNAT-ului==&lt;br /&gt;
Scriptul urmator se va salva snat.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
placa_net=eth0&lt;br /&gt;
placa_retea=eth1&lt;br /&gt;
clasa_retea=192.168.0.0&lt;br /&gt;
iptables=/usr/sbin/iptables&lt;br /&gt;
#mai jos nu edita decat daca stii ce faci&lt;br /&gt;
echo &amp;quot;1&amp;quot;&amp;gt;/proc/sys/net/ipv4/ip_forward&lt;br /&gt;
$iptables -t nat -F&lt;br /&gt;
$iptables -F FORWARD&lt;br /&gt;
#iptables -P FORWARD DROP&lt;br /&gt;
$iptables -t nat -A POSTROUTING -o $placa_net -j MASQUERADE&lt;br /&gt;
$iptables -A FORWARD -i $placa_retea -j ACCEPT&lt;br /&gt;
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Final==&lt;br /&gt;
Asa acum ca avem cele 2 scripturi urmeaza sa le facem executabile si sa le punem sa porneasca la boot-are.&lt;br /&gt;
Pentru a le face executabile vom da comenzile:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod +x net.sh&lt;br /&gt;
# chmod +x snat.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;quot;#&amp;quot; simbolizeaza promt-ul de root.&lt;br /&gt;
Urmatorul pas este adaugarea lor in scriptul rc.local care il gasiti fie in /etc/rc.d fie in /etc/init.d sau in locul indicat &lt;br /&gt;
de manualul distributiei.&lt;br /&gt;
&lt;br /&gt;
Iar acum suntem in posesia unui server de linux care stie sa si &amp;quot;dea&amp;quot; net-ul mai departe. Si cum stiu ca sunteti niste admini &lt;br /&gt;
responsabili va apucati sa cititi mai multe despre iptables si cum se securizeaza acest server si ce servicii le mai puteti &lt;br /&gt;
oferi clientilor.&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:Networking]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=MRTG_cu_IPFM&amp;diff=1567</id>
		<title>MRTG cu IPFM</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=MRTG_cu_IPFM&amp;diff=1567"/>
				<updated>2005-12-10T00:10:46Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* mrtg.conf trebuie sa fie de forma */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Se configureaza ipfm dupa preferinta==&lt;br /&gt;
==Se ia urmatorul script==&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 HOST=$1&lt;br /&gt;
 D=`/bin/date +%Y-%m-%d`&lt;br /&gt;
 # Incoming&lt;br /&gt;
 cat /var/log/ipfm/ipfm-global-$D.log | /bin/grep &amp;quot;$HOST &amp;quot;| /bin/gawk '{print $2}'&lt;br /&gt;
 # Outgoing&lt;br /&gt;
 cat /var/log/ipfm/ipfm-global-$D.log | /bin/grep &amp;quot;$HOST &amp;quot;| /bin/gawk '{print $3}'&lt;br /&gt;
'''Atentie''': Logurile generate de ipfm trebuie sa fie de forma &amp;lt;tt&amp;gt;ipfm-global-%Y-%m-%d&amp;lt;/tt&amp;gt;. Acest script il vom denumi &amp;lt;tt&amp;gt;script.pl&amp;lt;/tt&amp;gt; si il vom face executabil cu comanda &amp;lt;tt&amp;gt;chmod +x&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==mrtg.conf trebuie sa fie de forma==&lt;br /&gt;
 Target[84.232.130.xx]: `/etc/mrtg/script.pl 84.232.130.xx`&lt;br /&gt;
 MaxBytes[84.232.130.xx]: 1638400&lt;br /&gt;
 AbsMax[84.232.130.xx]: 12500000&lt;br /&gt;
 Title[84.232.130.xx]: Statistica trafic pe calculatorul lui Apocalipt&lt;br /&gt;
 PageTop[84.232.130.xx]: &amp;lt;nowiki&amp;gt;&amp;lt;H1&amp;gt;Statistica trafic pe calculatorul lui Apocalipt&amp;lt;/H1&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Options[84.232.130.xx]: growright&lt;br /&gt;
Daca ai configurat si apache si vrei sa vezi aceste grafice de pe internet dai &lt;br /&gt;
 /usr/bin/indexmaker --output=/var/www/mrtg/index.html /etc/mrtg/mrtg.cfg&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Un mic script care sa genereze automat config-ul pentru o clasa de ip-uri ar putea fi de forma:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
for (( i=1; i&amp;lt;256; i++ )); do&lt;br /&gt;
echo &amp;quot;Target[192.168.0.$i]: \`/etc/mrtg/script.pl 192.168.0.$i\`&amp;quot;&lt;br /&gt;
echo &amp;quot;MaxBytes[192.168.0.$i]: 1638400&amp;quot;&lt;br /&gt;
echo &amp;quot;AbsMax[192.168.0.$i]: 12500000&amp;quot;&lt;br /&gt;
echo &amp;quot;Title[192.168.0.$i]: Statistica trafic pentru ip-ul 192.168.0.$i&amp;quot;&lt;br /&gt;
echo &amp;quot;PageTop[192.168.0.$i]: &amp;lt;H1&amp;gt;Statistica trafic pentru 192.168.0.$i&amp;lt;/H1&amp;gt;&amp;quot;&lt;br /&gt;
echo &amp;quot;Options[192.168.0.$i]: growright&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
echo &amp;quot;WorkDir: /var/www/mrtg/&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:HowTo]]&lt;br /&gt;
[[Category:WebStats]]&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	<entry>
		<id>http://wiki.linux360.ro/index.php?title=Talk:MRTG_cu_IPFM&amp;diff=1566</id>
		<title>Talk:MRTG cu IPFM</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux360.ro/index.php?title=Talk:MRTG_cu_IPFM&amp;diff=1566"/>
				<updated>2005-12-09T23:59:35Z</updated>
		
		<summary type="html">&lt;p&gt;Unixro: /* Despre corecturi si adaugiri */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Despre corecturi si adaugiri ==&lt;br /&gt;
* Am scos eu fragmentul&lt;br /&gt;
 Versiunea initiala de logic148. &lt;br /&gt;
 Modificata de unixro fara &amp;quot;$HOST &amp;quot; la grep pentru ip-ul .8 intoarce si rezultatele de la 8x&lt;br /&gt;
din document intru-cat nu are ce cauta acolo. Singura tolerata momentan este o semnatura in forma academica (i.e. ''Versiunea originala de &amp;amp;lt;nume intreg in sintaxa latina&amp;amp;gt;''), tot restul de comentarii si jurnale/explicatii/discutii de editare isi au locul '''aici''', in pagina de discutii asociata articolului. [[User:Csdexter|@Dexter]] 00:35, 10 December 2005 (EET)&lt;br /&gt;
K thx nu stiam (unixro)&lt;/div&gt;</summary>
		<author><name>Unixro</name></author>	</entry>

	</feed>