<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ro">
		<id>https://wiki.lug.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Flower</id>
		<title>Wiki.lug.ro - Contribuții utilizator [ro]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.lug.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Flower"/>
		<link rel="alternate" type="text/html" href="https://wiki.lug.ro/index.php/Special:Contribu%C8%9Bii/Flower"/>
		<updated>2026-06-27T08:12:04Z</updated>
		<subtitle>Contribuții utilizator</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>https://wiki.lug.ro/index.php?title=Distro_Way&amp;diff=3997</id>
		<title>Distro Way</title>
		<link rel="alternate" type="text/html" href="https://wiki.lug.ro/index.php?title=Distro_Way&amp;diff=3997"/>
				<updated>2007-12-07T10:57:28Z</updated>
		
		<summary type="html">&lt;p&gt;Flower: /* Manager-ul de pachete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GNU/Linux este un sistem de operare deosebit de versatil. E un lucru foarte bun, desigur, dar ca orice lucru foarte bun, are şi părţile lui neplăcute. În cazul nostru este vorba de apariţia unei adevarate &amp;quot;babilonii&amp;quot; de [[distribuţii]], care fac aceleaşi lucruri (de exemplu setarea înterfeţei de reţea) în fel şi chip, făcând viaţa adminstratorilor de sisteme un infern. O să încercăm aici să echivalăm (pe cât este posibil) comenzile necesare pentru configurarea diverselor sisteme bazate pe Linux.&lt;br /&gt;
&lt;br /&gt;
==[[gestionar de pachete|Manager-ul de pachete]]==&lt;br /&gt;
=== Sistemul de management ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Sistemul de management al pachetelor se numeşte ''portage''. Este inspirat din ''ports'', întâlnită la sismele de operare BSD-like. Deosebirea majoră faţă de alte managere este că aplicaţiile sunt instalate în general din surse şi nu din binare. Acest lucru permite un control riguros al capabilităţilor dorite de la aplicaţiilor instalate, prin folosirea variabilei ''USE''.&lt;br /&gt;
Un exemplu destul de comun este eliminarea dependenţelor nedorite faţă de pachete care nu ne sunt necesare. Să luăm cazul postfix (un server SMTP). Acest server are posibilitatea să folosească MySQL pentru tabelele de lookup. Să presupunem că nu ne interesează această capabilitate (sau dimpotrivă, ne interesează). În primul caz vom executa &amp;quot;USE=-mysql emerge postfix&amp;quot;, în cel de-al doilea &amp;quot;USE=mysql emerge postfix&amp;quot;. Managerul de pachete se va adapta şi ne va genera un postfix care NU are ca dependenţă biblioteca ''libmysqlclient'' (în primul caz), fie se va asigura că în sistem există ŞI ''libmysqlclient''. &lt;br /&gt;
Cum rezolvă un astfel de caz un manager de pachete care foloseşte pachete gata compilate? Ar fi vreo patru cazuri:&lt;br /&gt;
* 1) nu ne ofera deloc opţiunea de MySQL (şi atunci trebuie compilat manual)&lt;br /&gt;
* 2) ne obligă să avem suport pentru MySQL, chiar dacă nu avem nevoie de el&lt;br /&gt;
* 3) sunt furnizate pachete care să acopere toate cazurile posibile (foarte greu de aplicat în cazul în care există multe opţiuni posibile)&lt;br /&gt;
* 4) poate avem norocul ca aplicaţia noastră să fie ''plug-abilă'' şi atunci managerul de pachete ne va furniza pachete separate cu fiecare plugin în parte (cum este de exemplu PHP)&lt;br /&gt;
&lt;br /&gt;
Criticii spun ca acest sistem de management al pachetelor este foarte lent (ceea ce e şi normal, având în vedere că se compilează fiecare pachet în parte.&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
Managementul pachetelor la RedHat / CentOS / Fedora se face cu ''yum''. Denumirea vine de la Yellow Dog Updater. Pentru mai multe informatii, o pagina buna de plecare e aici[http://en.wikipedia.org/wiki/Yellow_dog_Updater%2C_Modified]. Sistemul de pachete este ''rpm-based'', iar managementul dependentelor este destul de eficient.&lt;br /&gt;
==== Slackware / Bluewhite64 ====&lt;br /&gt;
Pachetele Slackware / Bluewhite64 cuprind aplicatii binare arhivate tar si compresate gzip. Ele au extensia .tgz si se manipuleaza cu:&lt;br /&gt;
* 1) ''pkgtool'' - este un program bazat pe meniuri dialog cu o interfata intuitiva care permite instalarea, dezinstalarea sau listarea fisierelor unui pachet, precum si vizualizarea unei scurte descrieri a acestuia&lt;br /&gt;
* 2) ''installpkg'' - utilitar in linie de comanda care permite instalarea pachetelor noi. Apelat fara nici o optiune, un pachet instalat anterior va fi '''suprascris fara atentionare'''. Optiunea ''-warn'' vine in ajutor listand fisierele care urmeaza a fi suprascrise, corespunzator cu pachetul respectiv. &lt;br /&gt;
* 3) ''upgradepkg'' - asemanator lui ''installpkg'' cu diferenta ca dezinstaleaza mai intai pachetul vechi dupa care il instaleaza pe cel nou&lt;br /&gt;
* 4) ''explodepkg'' - extrage continutul unui pachet in directorul curent. Este echivalent cu tar -zxf ''nume_pachet'' si este util pentru examinarea fisierelor inainte de instalare&lt;br /&gt;
* 5) ''makepkg'' - impacheteaza continutul directorului curent in format .tgz&lt;br /&gt;
* 6) ''rpm2tgz'' si ''rpm2targz'' - utile pentru transformarea pachetelor RPM in pachete native .tgz. Aceste comenzi, daca sunt combinate cu ''explode'', aduc informatii despre fisierele continute in pachetul RPM&lt;br /&gt;
&lt;br /&gt;
Utilitarele folosesc o baza de date cu inregistrari text pe calea /var/log/packages (pentru pachete instalate) sau /var/log/removed_packages (pentru cele dezinstalate).&lt;br /&gt;
&lt;br /&gt;
Ce e bine sa stiti:&lt;br /&gt;
&lt;br /&gt;
* 1) Instalarea pachetelor '''se face orb''', fara a se tine seama de dependinte si versiuni de biblioteci. Folositi doar pachetele corespunzatoare distributiei! Versiunea o puteti afla cu:&lt;br /&gt;
 cat /etc/slackware-version&lt;br /&gt;
 cat /etc/bluewhite64-version&lt;br /&gt;
* 2) Actualizarea pachetelor presupune reinstalarea acestora, '''nu si a bibliotecilor dependente'''.&lt;br /&gt;
* 3) Folositi ''-warn'' inainte de instalare sau ''--dry-run'' inainte de actualizare. Faceti backup mai ales pachetelor venite pe distributii vechi, care se gasesc mai greu azi.&lt;br /&gt;
&lt;br /&gt;
Mai multe informatii gasiti la [http://www.slackware.com.ro/carte/package-management-package-utilities.html http://www.slackware.com.ro/carte/package-management-package-utilities.html].&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
&lt;br /&gt;
O distribuţie vine în general cu o colecţie destul de largă de aplicaţii, care pot fi furnizate pe suport CD (odată cu distribuţia), ''repository-uri'' oficiale şi ''repository-uri'' de la terţe persoane (aşa numitele 3-rd party). În cele mai multe cazuri ''repository-urile'' aflate în Internet sunt disponibile şi pe mirror-uri locale (pentru un acces mai rapid la ele). Majoritatea distribuţiilor permit alegerea explicită a mirror-ului de unde vrem să se descarce pachetele când instalăm vre-un program.&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
La sistemele Gentoo-based există două tipuri de ''repository-uri'':&lt;br /&gt;
* 1) tree-ul ''portage'', care conţine înformaţii generale (metadata) legate de pachete (cum ar fi [[dependenţe]], patch-uri, locul de unde poate fi descărcat codul sursă, etc)&lt;br /&gt;
* 2) ''distfiles'' (care sunt sursele propriu-zise)&lt;br /&gt;
Ambele ''repository-uri'' se configurează modificând corespunzător fişierul /etc/make.conf:&lt;br /&gt;
&lt;br /&gt;
 SYNC=&amp;quot;rsync://rsync.ro.gentoo.org/gentoo-portage&amp;quot;&lt;br /&gt;
 GENTOO_MIRRORS=&amp;quot;http://gentoo.mirrors.lug.ro/gentoo&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Slackware / Bluewhite64 ====&lt;br /&gt;
&lt;br /&gt;
[http://slackpkg.sourceforge.net/ slackpkg]&lt;br /&gt;
&lt;br /&gt;
[http://swaret.sourceforge.net/ SWareT]&lt;br /&gt;
&lt;br /&gt;
[http://portpkg.berlios.de/ Portpkg]&lt;br /&gt;
&lt;br /&gt;
[http://emerde.freaknet.org/ Emerde]&lt;br /&gt;
&lt;br /&gt;
=== Sincronizare ===&lt;br /&gt;
Unele distribuţii au nevoie de o actulizare periodică a arborelui cu metadate, pentru reîmprospătarea informaţiilor la aplicaţiile nou întroduse în ''repository'', update-uri, etc.&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 emerge -v --sync&lt;br /&gt;
&lt;br /&gt;
=== Actualizarea sistemului ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 emerge -v --sync &amp;amp;&amp;amp; emerge -D --newuse world &amp;amp;&amp;amp; etc-update&lt;br /&gt;
Cu etc-update se corectează eventualele incompatibilităţi în fişierele de configurare între diferitele versiuni ale unui anumit pachet.&lt;br /&gt;
&lt;br /&gt;
=== Căutare ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
La căutare se poate folosi doar un fragment din numele programului. De exemplu:&lt;br /&gt;
 emerge -s postfix&lt;br /&gt;
va returna:&lt;br /&gt;
 *  mail-mta/postfix&lt;br /&gt;
      Latest version available: 2.4.6-r1&lt;br /&gt;
      Latest version installed: 2.4.6-r1&lt;br /&gt;
      Size of files: 2,878 kB&lt;br /&gt;
      Homepage:      http://www.postfix.org/&lt;br /&gt;
      Description:   A fast and secure drop-in replacement for sendmail.&lt;br /&gt;
      License:       IPL-1&lt;br /&gt;
 &lt;br /&gt;
 *  sec-policy/selinux-postfix&lt;br /&gt;
      Latest version available: 20070928&lt;br /&gt;
      Latest version installed: [ Not Installed ]&lt;br /&gt;
      Size of files: 415 kB&lt;br /&gt;
      Homepage:      http://www.gentoo.org/proj/en/hardened/selinux/&lt;br /&gt;
      Description:   SELinux policy for postfix&lt;br /&gt;
      License:       GPL-2&lt;br /&gt;
 &lt;br /&gt;
 *  www-apps/postfixadmin&lt;br /&gt;
      Latest version available: 2.1.0&lt;br /&gt;
      Latest version installed: [ Not Installed ]&lt;br /&gt;
      Size of files: 156 kB&lt;br /&gt;
      Homepage:      http://high5.net/postfixadmin/&lt;br /&gt;
      Description:   Postfix Admin is a Web Based Management tool for Postfix [...]&lt;br /&gt;
      License:       MPL-1.1&lt;br /&gt;
&lt;br /&gt;
=== Instalare ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Sintaxa generală este:&lt;br /&gt;
 emerge NUME_PROGRAM&lt;br /&gt;
În cazul în care apare vreo dependinţă nerezolvată, ''emerge'' va instala toate pachetele de care are nevoie sau le va actualiza pe cele care sunt prea vechi pentru a putea fi folosite.&lt;br /&gt;
&lt;br /&gt;
=== Actualizare ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Actualizarea unui pachet în Gentoo se rezumă la reinstalarea acestuia. ''emerge'' va instala noul pachet PESTE cel vechi, după care va şterge fişierele din vechiul pachet a căror timestamp corespunde cu ce informaţii despre vechiul pachet are portage în metadate. De exemplu:&lt;br /&gt;
 emerge postfix&lt;br /&gt;
va suprascrie &amp;quot;/usr/sbin/postfix&amp;quot;, care din acest moment are un timestamp mai nou decat ce stie vechea versiune despre acesta (şi din acest motiv va considera că nu-i aparţine, prin urmare nu-l va şterge la uninstall).&lt;br /&gt;
&lt;br /&gt;
=== Dezinstalare ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Atenţie, dezinstalarea din Gentoo nu ţine cont de dependenţe. Dacă aveţi un ''postfix'' cu suport ''mysql'' şi dezinstalaţi ''mysql'' sistemul '''NU VA EMITE NICI UN AVERTISMENT''' legat de dependenţe. Bineinţeles că ''postfix'' va înceta să mai funcţioneze.&lt;br /&gt;
Sintaxa este:&lt;br /&gt;
 emerge --unmerge NUME_PROGRAM&lt;br /&gt;
&lt;br /&gt;
=== Cui aparţine acest fişier? ===&lt;br /&gt;
Întrebare grea, mai ales dacă trebuie să afli această informaţie de la un sistem pe care nu-l cunoşti.&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
E nevoie de un pachet special, numit ''gentoolkit''. După ce în instalaţi, rulaţi comanda de mai jos:&lt;br /&gt;
 equery b /usr/sbin/postfix&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
 rpm -qf /nume/fisier&lt;br /&gt;
&lt;br /&gt;
=== Repararea sistemului ===&lt;br /&gt;
În cazul în care ai şters anumite pachete/fisiere sistemul poate deveni instabil. Cele mai multe distribuţii pun la dispozitie diverse utilitare de reparare a sistemului.&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 revdep-rebuild [-p]&lt;br /&gt;
Va căuta dacă există fiecare bibliotecă de care are nevoie fiecare binar în parte şi dacă este versiunea de care are nevoie. În caz contrar, face o listă cu toate pachetele care trebuiesc recompilate pentru a restabili integritatea sistemului. Fără parametrul -p le şi recompilează, nu doar afişează lista. Din cauza faptului că verifică fiecare binar în parte, poate dura destul de mult o astfel de inspectare a sistemului.&lt;br /&gt;
&lt;br /&gt;
 python-updater&lt;br /&gt;
 perl-cleaner&lt;br /&gt;
&lt;br /&gt;
==Configurarea reţelei==&lt;br /&gt;
=== Setarea &amp;quot;ad-hoc&amp;quot; a parametrilor ===&lt;br /&gt;
Probabil comună oricarei distribuţii Linux (old way):&lt;br /&gt;
&lt;br /&gt;
 ifconfig eth0 192.168.0.1 netmask 255.255.255.0&lt;br /&gt;
 route add default gw 192.168.0.254&lt;br /&gt;
 echo &amp;quot;nameserver 80.23.32.1&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Unde:&lt;br /&gt;
* - eth0 este numele interfeţei de reţea&lt;br /&gt;
* - 192.168.0.1 este IP-ul maşinii pe care o configurăm&lt;br /&gt;
* - 192.168.0.254 este ''default gateway''-ul&lt;br /&gt;
* - 80.23.32.1 este serverul de nume&lt;br /&gt;
&lt;br /&gt;
O metoda mai noua este folosirea comenzii ''ip'' din pachetul ''iproute2''. Cu aceasta comanda se pot gestiona mai bine adresele IP, deoarece permite adaugarea/stergerea de adrese IP pe o interfata fara a mai folosi alias-uri (eth0:alias).&lt;br /&gt;
&lt;br /&gt;
De exemplu:&lt;br /&gt;
 ip address add 192.168.15.1/24 dev eth0&lt;br /&gt;
 ip address del 192.168.15.1/24 dev eth0&lt;br /&gt;
 ip route add default via 192.168.15.254&lt;br /&gt;
&lt;br /&gt;
In plus, ''ip'' mai permite managementul tabelei ARP ('ip neighbor'), managementul tunelelor IP-IP sau GRE ('ip tunnel'), managementul de &amp;quot;rules&amp;quot; pentru folosirea de tabele de routing multiple ('ip rule'), etc.&lt;br /&gt;
Mai multe informatii despre ''ip'' aici: [http://www.policyrouting.org/iproute2-toc.html], sau Google dupa &amp;quot;iproute2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Atenţie, exemplele sunt arbitrare.&lt;br /&gt;
&lt;br /&gt;
=== Configurarea persistentă ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Fisierul de configurare pentru reţea este /etc/conf.d/net&lt;br /&gt;
Sintaxa este următoarea:&lt;br /&gt;
&lt;br /&gt;
 config_eth0=( &amp;quot;192.168.0.1 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_eth0=( &amp;quot;default via 192.168.0.254&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Nameserver-ele se introduc in /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
In cazul in care in sistem există o placă de reţea şi nu doriţi să o folosiţi, introduceţi&lt;br /&gt;
 config_eth1=( &amp;quot;null&amp;quot; )&lt;br /&gt;
În caz contrar există riscul să i se aloce un IP prin DHCP.&lt;br /&gt;
&lt;br /&gt;
Exemplu pentru o placă wireless (chipset ATHEROS), cu wpa_supplicant:&lt;br /&gt;
&lt;br /&gt;
 modules=( &amp;quot;wpa_supplicant&amp;quot; )&lt;br /&gt;
 wpa_supplicant_ath0=&amp;quot;-Dmadwifi&amp;quot;&lt;br /&gt;
 iwconfig_ath0=&amp;quot;mode managed freq 2.412G rate auto rts 250 frag 512 txpower 18&amp;quot;&lt;br /&gt;
 config_ath0=( &amp;quot;192.168.0.1 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_ath0=( &amp;quot;default via 192.168.0.254&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Crearea unui bridge (util pentru utilizarea cu un ''virtualbox''):&lt;br /&gt;
&lt;br /&gt;
 config_eth0=( &amp;quot;null&amp;quot; )&lt;br /&gt;
 &lt;br /&gt;
 tuntap_tap0=&amp;quot;tap&amp;quot;&lt;br /&gt;
 config_tap0=( &amp;quot;null&amp;quot; )&lt;br /&gt;
 tunctl_tap0=&amp;quot;-u serghei&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 bridge_br0=&amp;quot;eth0 tap0&amp;quot;&lt;br /&gt;
 config_br0=( &amp;quot;10.0.2.2/24&amp;quot; )&lt;br /&gt;
 RC_NEED_br0=&amp;quot;net.eth0 net.tap0&amp;quot;&lt;br /&gt;
 brctl_br0=( &amp;quot;setfd 0&amp;quot; &amp;quot;sethello 0&amp;quot; &amp;quot;stp off&amp;quot; )&lt;br /&gt;
 routes_br0=( &amp;quot;default gw 192.168.0.254&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
In Gentoo interfeţele de reţea sunt &amp;quot;ridicate&amp;quot; ca nişte servicii. De exemplu pentru eth0 trebuie creat un symlink la /etc/init.d/net.eth0, după care trebuie adăugat net.eth0 în lista de servicii pornite la boot.&lt;br /&gt;
&lt;br /&gt;
 ln -s net.lo /etc/init.d/net.eth0&lt;br /&gt;
 rc-update add net.eth0 default&lt;br /&gt;
&lt;br /&gt;
Dacă aţi modificat parametri unei interfeţe de reţea, o reîncărcaţi executând:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/net.eth0 restart&lt;br /&gt;
&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
Mare parte din fisierele de configurare pentru retea se gasesc in /etc/sysconfig/network-scripts.&lt;br /&gt;
Setarile placilor de retea sunt in /etc/sysconfig/network-scripts/ifcfg-ethN. Sintaxa este intuitiva:&lt;br /&gt;
 IPADDR=192.168.0.1&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 HWADDR=00:11:22:33:44:55&lt;br /&gt;
Atentie, trebuie specificate corect adresele de Network si Broadcast (vezi Subnetting [http://en.wikipedia.org/wiki/Subnetting]).&lt;br /&gt;
Parametrul HWADDR specifica MAC-ul placii de retea respective, pentru cazul in care exista in sistem mai multe placi de retea ce folosesc acelasi driver. Atentie si aici, identificarea placilor pe baza HWADDR nu functioneaza prea bine. Pentru mai multe info, Google dupa &amp;quot;HWADDR&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Dupa modificarea acestor fisiere, se reporneste tot subsistemul de networking cu comanda ''service network restart'' sau ''/etc/init.d/network restart'' (cele doua variante sunt echivalente).&lt;br /&gt;
&lt;br /&gt;
Hint: de obicei, gateway-ul este pastrat in /etc/sysconfig/network.&lt;br /&gt;
&lt;br /&gt;
Setarile firewall-ului sunt pastrate in /etc/sysconfig/iptables. Nu se recomanda editarea manuala a acelui fisier, deoarece va fi incarcat cu ''iptables-restore''; se recomanda construirea manuala a firewall-ului cu comenzi ''iptables'', apoi salvarea regulilor cu comanda ''service iptables save''.&lt;br /&gt;
&lt;br /&gt;
==Scripturile de startup==&lt;br /&gt;
=== Pornirea/oprirea manuală a unui serviciu ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 /etc/init.d/postfix start&lt;br /&gt;
 /etc/init.d/postfix stop&lt;br /&gt;
&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
 service postfix start&lt;br /&gt;
 service postfix stop&lt;br /&gt;
&lt;br /&gt;
=== Adaugarea/eliminarea unui serviciu în/din autostart ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 rc-update add postfix default&lt;br /&gt;
 rc-update del postfix&lt;br /&gt;
&lt;br /&gt;
Daemonii care nu au script de service se pot porni/opri la boot/shutdown adaugându-i în &amp;quot;/etc/conf.d/local.start&amp;quot; şi/sau &amp;quot;/etc/conf.d/local.stop&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
 chkconfig --level 35 postfix on&lt;br /&gt;
 chkconfig --level 35 postfix off&lt;br /&gt;
Observatie: &amp;quot;35&amp;quot; inseamna runlevel-urile 3 si 5. Vezi [http://en.wikipedia.org/wiki/Runlevel].&lt;br /&gt;
&lt;br /&gt;
==== openSUSE 10+ ====&lt;br /&gt;
 chkconfig -s postfix&lt;br /&gt;
 chkconfig -s postfix 35&lt;br /&gt;
 chkconfig -d postfix&lt;br /&gt;
&lt;br /&gt;
sau&lt;br /&gt;
&lt;br /&gt;
 insserv -d postfix&lt;br /&gt;
 insserv -r postfix&lt;br /&gt;
&lt;br /&gt;
Daca nu se speficica runlevel-ul, se va utiliza runlevels &amp;quot;Default-Start&amp;quot; din scriptul respectiv&lt;/div&gt;</summary>
		<author><name>Flower</name></author>	</entry>

	<entry>
		<id>https://wiki.lug.ro/index.php?title=Distro_Way&amp;diff=3996</id>
		<title>Distro Way</title>
		<link rel="alternate" type="text/html" href="https://wiki.lug.ro/index.php?title=Distro_Way&amp;diff=3996"/>
				<updated>2007-12-07T10:37:01Z</updated>
		
		<summary type="html">&lt;p&gt;Flower: /* Gentoo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GNU/Linux este un sistem de operare deosebit de versatil. E un lucru foarte bun, desigur, dar ca orice lucru foarte bun, are şi părţile lui neplăcute. În cazul nostru este vorba de apariţia unei adevarate &amp;quot;babilonii&amp;quot; de [[distribuţii]], care fac aceleaşi lucruri (de exemplu setarea înterfeţei de reţea) în fel şi chip, făcând viaţa adminstratorilor de sisteme un infern. O să încercăm aici să echivalăm (pe cât este posibil) comenzile necesare pentru configurarea diverselor sisteme bazate pe Linux.&lt;br /&gt;
&lt;br /&gt;
==[[gestionar de pachete|Manager-ul de pachete]]==&lt;br /&gt;
=== Sistemul de management ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Sistemul de management al pachetelor se numeşte ''portage''. Este inspirat din ''ports'', întâlnită la sismele de operare BSD-like. Deosebirea majoră faţă de alte managere este că aplicaţiile sunt instalate în general din surse şi nu din binare. Acest lucru permite un control riguros al capabilităţilor dorite de la aplicaţiilor instalate, prin folosirea variabilei ''USE''.&lt;br /&gt;
Un exemplu destul de comun este eliminarea dependenţelor nedorite faţă de pachete care nu ne sunt necesare. Să luăm cazul postfix (un server SMTP). Acest server are posibilitatea să folosească MySQL pentru tabelele de lookup. Să presupunem că nu ne interesează această capabilitate (sau dimpotrivă, ne interesează). În primul caz vom executa &amp;quot;USE=-mysql emerge postfix&amp;quot;, în cel de-al doilea &amp;quot;USE=mysql emerge postfix&amp;quot;. Managerul de pachete se va adapta şi ne va genera un postfix care NU are ca dependenţă biblioteca ''libmysqlclient'' (în primul caz), fie se va asigura că în sistem există ŞI ''libmysqlclient''. &lt;br /&gt;
Cum rezolvă un astfel de caz un manager de pachete care foloseşte pachete gata compilate? Ar fi vreo patru cazuri:&lt;br /&gt;
* 1) nu ne ofera deloc opţiunea de MySQL (şi atunci trebuie compilat manual)&lt;br /&gt;
* 2) ne obligă să avem suport pentru MySQL, chiar dacă nu avem nevoie de el&lt;br /&gt;
* 3) sunt furnizate pachete care să acopere toate cazurile posibile (foarte greu de aplicat în cazul în care există multe opţiuni posibile)&lt;br /&gt;
* 4) poate avem norocul ca aplicaţia noastră să fie ''plug-abilă'' şi atunci managerul de pachete ne va furniza pachete separate cu fiecare plugin în parte (cum este de exemplu PHP)&lt;br /&gt;
&lt;br /&gt;
Criticii spun ca acest sistem de management al pachetelor este foarte lent (ceea ce e şi normal, având în vedere că se compilează fiecare pachet în parte.&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
Managementul pachetelor la RedHat / CentOS / Fedora se face cu ''yum''. Denumirea vine de la Yellow Dog Updater. Pentru mai multe informatii, o pagina buna de plecare e aici[http://en.wikipedia.org/wiki/Yellow_dog_Updater%2C_Modified]. Sistemul de pachete este ''rpm-based'', iar managementul dependentelor este destul de eficient.&lt;br /&gt;
==== Slackware / Bluewhite64 ====&lt;br /&gt;
Pachetele Slackware / Bluewhite64 cuprind aplicatii binare arhivate tar si compresate gzip. Ele au extensia .tgz si se manipuleaza cu:&lt;br /&gt;
* 1) ''pkgtool'' - este un program bazat pe meniuri dialog cu o interfata intuitiva care permite instalarea, dezinstalarea sau listarea fisierelor unui pachet, precum si vizualizarea unei scurte descrieri a acestuia&lt;br /&gt;
* 2) ''installpkg'' - utilitar in linie de comanda care permite instalarea pachetelor noi. Apelat fara nici o optiune, un pachet instalat anterior va fi '''suprascris fara atentionare'''. Optiunea ''-warn'' vine in ajutor listand fisierele care urmeaza a fi suprascrise, corespunzator cu pachetul respectiv. &lt;br /&gt;
* 3) ''upgradepkg'' - asemanator lui ''installpkg'' cu diferenta ca dezinstaleaza mai intai pachetul vechi dupa care il instaleaza pe cel nou&lt;br /&gt;
* 4) ''explodepkg'' - extrage continutul unui pachet in directorul curent. Este echivalent cu tar -zxf ''nume_pachet'' si este util pentru examinarea fisierelor inainte de instalare&lt;br /&gt;
* 5) ''makepkg'' - impacheteaza continutul directorului curent in format .tgz&lt;br /&gt;
* 6) ''rpm2tgz'' si ''rpm2targz'' - utile pentru transformarea pachetelor RPM in pachete native .tgz. Aceste comenzi, daca sunt combinate cu ''explode'', aduc informatii despre fisierele continute in pachetul RPM&lt;br /&gt;
&lt;br /&gt;
Utilitarele folosesc o baza de date cu inregistrari text pe calea /var/log/packages (pentru pachete instalate) sau /var/log/removed_packages (pentru cele dezinstalate).&lt;br /&gt;
&lt;br /&gt;
Ce e bine sa stiti:&lt;br /&gt;
&lt;br /&gt;
* 1) Instalarea pachetelor '''se face orb''', fara a se tine seama de dependinte si versiuni de biblioteci. Folositi doar pachetele corespunzatoare distributiei! Versiunea o puteti afla cu:&lt;br /&gt;
 cat /etc/slackware-version&lt;br /&gt;
 cat /etc/bluewhite64-version&lt;br /&gt;
* 2) Actualizarea pachetelor presupune reinstalarea acestora, '''nu si a bibliotecilor dependente'''.&lt;br /&gt;
* 3) Folositi ''-warn'' inainte de instalare sau ''--dry-run'' inainte de actualizare. Faceti backup mai ales pachetelor venite pe distributii vechi, care se gasesc mai greu azi.&lt;br /&gt;
&lt;br /&gt;
Mai multe informatii gasiti la [http://www.slackware.com.ro/carte/package-management-package-utilities.html http://www.slackware.com.ro/carte/package-management-package-utilities.html].&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
&lt;br /&gt;
O distribuţie vine în general cu o colecţie destul de largă de aplicaţii, care pot fi furnizate pe suport CD (odată cu distribuţia), ''repository-uri'' oficiale şi ''repository-uri'' de la terţe persoane (aşa numitele 3-rd party). În cele mai multe cazuri ''repository-urile'' aflate în Internet sunt disponibile şi pe mirror-uri locale (pentru un acces mai rapid la ele). Majoritatea distribuţiilor permit alegerea explicită a mirror-ului de unde vrem să se descarce pachetele când instalăm vre-un program.&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
La sistemele Gentoo-based există două tipuri de ''repository-uri'':&lt;br /&gt;
* 1) tree-ul ''portage'', care conţine înformaţii generale (metadata) legate de pachete (cum ar fi [[dependenţe]], patch-uri, locul de unde poate fi descărcat codul sursă, etc)&lt;br /&gt;
* 2) ''distfiles'' (care sunt sursele propriu-zise)&lt;br /&gt;
Ambele ''repository-uri'' se configurează modificând corespunzător fişierul /etc/make.conf:&lt;br /&gt;
&lt;br /&gt;
 SYNC=&amp;quot;rsync://rsync.ro.gentoo.org/gentoo-portage&amp;quot;&lt;br /&gt;
 GENTOO_MIRRORS=&amp;quot;http://gentoo.mirrors.lug.ro/gentoo&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Slackware / Bluewhite64 ====&lt;br /&gt;
&lt;br /&gt;
[http://slackpkg.sourceforge.net/ slackpkg]&lt;br /&gt;
&lt;br /&gt;
[http://swaret.sourceforge.net/ SWareT]&lt;br /&gt;
&lt;br /&gt;
[http://portpkg.berlios.de/ Portpkg]&lt;br /&gt;
&lt;br /&gt;
[http://emerde.freaknet.org/ Emerde]&lt;br /&gt;
&lt;br /&gt;
=== Sincronizare ===&lt;br /&gt;
Unele distribuţii au nevoie de o actulizare periodică a arborelui cu metadate, pentru reîmprospătarea informaţiilor la aplicaţiile nou întroduse în ''repository'', update-uri, etc.&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 emerge -v --sync&lt;br /&gt;
&lt;br /&gt;
=== Actualizarea sistemului ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 emerge -v --sync &amp;amp;&amp;amp; emerge -D --newuse world &amp;amp;&amp;amp; etc-update&lt;br /&gt;
Cu etc-update se corectează eventualele incompatibilităţi în fişierele de configurare între diferitele versiuni ale unui anumit pachet.&lt;br /&gt;
&lt;br /&gt;
=== Căutare ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
La căutare se poate folosi doar un fragment din numele programului. De exemplu:&lt;br /&gt;
 emerge -s postfix&lt;br /&gt;
va returna:&lt;br /&gt;
 *  mail-mta/postfix&lt;br /&gt;
      Latest version available: 2.4.6-r1&lt;br /&gt;
      Latest version installed: 2.4.6-r1&lt;br /&gt;
      Size of files: 2,878 kB&lt;br /&gt;
      Homepage:      http://www.postfix.org/&lt;br /&gt;
      Description:   A fast and secure drop-in replacement for sendmail.&lt;br /&gt;
      License:       IPL-1&lt;br /&gt;
 &lt;br /&gt;
 *  sec-policy/selinux-postfix&lt;br /&gt;
      Latest version available: 20070928&lt;br /&gt;
      Latest version installed: [ Not Installed ]&lt;br /&gt;
      Size of files: 415 kB&lt;br /&gt;
      Homepage:      http://www.gentoo.org/proj/en/hardened/selinux/&lt;br /&gt;
      Description:   SELinux policy for postfix&lt;br /&gt;
      License:       GPL-2&lt;br /&gt;
 &lt;br /&gt;
 *  www-apps/postfixadmin&lt;br /&gt;
      Latest version available: 2.1.0&lt;br /&gt;
      Latest version installed: [ Not Installed ]&lt;br /&gt;
      Size of files: 156 kB&lt;br /&gt;
      Homepage:      http://high5.net/postfixadmin/&lt;br /&gt;
      Description:   Postfix Admin is a Web Based Management tool for Postfix [...]&lt;br /&gt;
      License:       MPL-1.1&lt;br /&gt;
&lt;br /&gt;
=== Instalare ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Sintaxa generală este:&lt;br /&gt;
 emerge NUME_PROGRAM&lt;br /&gt;
În cazul în care apare vreo dependinţă nerezolvată, ''emerge'' va instala toate pachetele de care are nevoie sau le va actualiza pe cele care sunt prea vechi pentru a putea fi folosite.&lt;br /&gt;
&lt;br /&gt;
=== Actualizare ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Actualizarea unui pachet în Gentoo se rezumă la reinstalarea acestuia. ''emerge'' va instala noul pachet PESTE cel vechi, după care va şterge fişierele din vechiul pachet a căror timestamp corespunde cu ce informaţii despre vechiul pachet are portage în metadate. De exemplu:&lt;br /&gt;
 emerge postfix&lt;br /&gt;
va suprascrie &amp;quot;/usr/sbin/postfix&amp;quot;, care din acest moment are un timestamp mai nou decat ce stie vechea versiune despre acesta (şi din acest motiv va considera că nu-i aparţine, prin urmare nu-l va şterge la uninstall).&lt;br /&gt;
&lt;br /&gt;
=== Dezinstalare ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Atenţie, dezinstalarea din Gentoo nu ţine cont de dependenţe. Dacă aveţi un ''postfix'' cu suport ''mysql'' şi dezinstalaţi ''mysql'' sistemul '''NU VA EMITE NICI UN AVERTISMENT''' legat de dependenţe. Bineinţeles că ''postfix'' va înceta să mai funcţioneze.&lt;br /&gt;
Sintaxa este:&lt;br /&gt;
 emerge --unmerge NUME_PROGRAM&lt;br /&gt;
&lt;br /&gt;
=== Cui aparţine acest fişier? ===&lt;br /&gt;
Întrebare grea, mai ales dacă trebuie să afli această informaţie de la un sistem pe care nu-l cunoşti.&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
E nevoie de un pachet special, numit ''gentoolkit''. După ce în instalaţi, rulaţi comanda de mai jos:&lt;br /&gt;
 equery b /usr/sbin/postfix&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
 rpm -qf /nume/fisier&lt;br /&gt;
&lt;br /&gt;
==Configurarea reţelei==&lt;br /&gt;
=== Setarea &amp;quot;ad-hoc&amp;quot; a parametrilor ===&lt;br /&gt;
Probabil comună oricarei distribuţii Linux (old way):&lt;br /&gt;
&lt;br /&gt;
 ifconfig eth0 192.168.0.1 netmask 255.255.255.0&lt;br /&gt;
 route add default gw 192.168.0.254&lt;br /&gt;
 echo &amp;quot;nameserver 80.23.32.1&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Unde:&lt;br /&gt;
* - eth0 este numele interfeţei de reţea&lt;br /&gt;
* - 192.168.0.1 este IP-ul maşinii pe care o configurăm&lt;br /&gt;
* - 192.168.0.254 este ''default gateway''-ul&lt;br /&gt;
* - 80.23.32.1 este serverul de nume&lt;br /&gt;
&lt;br /&gt;
O metoda mai noua este folosirea comenzii ''ip'' din pachetul ''iproute2''. Cu aceasta comanda se pot gestiona mai bine adresele IP, deoarece permite adaugarea/stergerea de adrese IP pe o interfata fara a mai folosi alias-uri (eth0:alias).&lt;br /&gt;
&lt;br /&gt;
De exemplu:&lt;br /&gt;
 ip address add 192.168.15.1/24 dev eth0&lt;br /&gt;
 ip address del 192.168.15.1/24 dev eth0&lt;br /&gt;
 ip route add default via 192.168.15.254&lt;br /&gt;
&lt;br /&gt;
In plus, ''ip'' mai permite managementul tabelei ARP ('ip neighbor'), managementul tunelelor IP-IP sau GRE ('ip tunnel'), managementul de &amp;quot;rules&amp;quot; pentru folosirea de tabele de routing multiple ('ip rule'), etc.&lt;br /&gt;
Mai multe informatii despre ''ip'' aici: [http://www.policyrouting.org/iproute2-toc.html], sau Google dupa &amp;quot;iproute2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Atenţie, exemplele sunt arbitrare.&lt;br /&gt;
&lt;br /&gt;
=== Configurarea persistentă ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Fisierul de configurare pentru reţea este /etc/conf.d/net&lt;br /&gt;
Sintaxa este următoarea:&lt;br /&gt;
&lt;br /&gt;
 config_eth0=( &amp;quot;192.168.0.1 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_eth0=( &amp;quot;default via 192.168.0.254&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Nameserver-ele se introduc in /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
In cazul in care in sistem există o placă de reţea şi nu doriţi să o folosiţi, introduceţi&lt;br /&gt;
 config_eth1=( &amp;quot;null&amp;quot; )&lt;br /&gt;
În caz contrar există riscul să i se aloce un IP prin DHCP.&lt;br /&gt;
&lt;br /&gt;
Exemplu pentru o placă wireless (chipset ATHEROS), cu wpa_supplicant:&lt;br /&gt;
&lt;br /&gt;
 modules=( &amp;quot;wpa_supplicant&amp;quot; )&lt;br /&gt;
 wpa_supplicant_ath0=&amp;quot;-Dmadwifi&amp;quot;&lt;br /&gt;
 iwconfig_ath0=&amp;quot;mode managed freq 2.412G rate auto rts 250 frag 512 txpower 18&amp;quot;&lt;br /&gt;
 config_ath0=( &amp;quot;192.168.0.1 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_ath0=( &amp;quot;default via 192.168.0.254&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Crearea unui bridge (util pentru utilizarea cu un ''virtualbox''):&lt;br /&gt;
&lt;br /&gt;
 config_eth0=( &amp;quot;null&amp;quot; )&lt;br /&gt;
 &lt;br /&gt;
 tuntap_tap0=&amp;quot;tap&amp;quot;&lt;br /&gt;
 config_tap0=( &amp;quot;null&amp;quot; )&lt;br /&gt;
 tunctl_tap0=&amp;quot;-u serghei&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 bridge_br0=&amp;quot;eth0 tap0&amp;quot;&lt;br /&gt;
 config_br0=( &amp;quot;10.0.2.2/24&amp;quot; )&lt;br /&gt;
 RC_NEED_br0=&amp;quot;net.eth0 net.tap0&amp;quot;&lt;br /&gt;
 brctl_br0=( &amp;quot;setfd 0&amp;quot; &amp;quot;sethello 0&amp;quot; &amp;quot;stp off&amp;quot; )&lt;br /&gt;
 routes_br0=( &amp;quot;default gw 192.168.0.254&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
In Gentoo interfeţele de reţea sunt &amp;quot;ridicate&amp;quot; ca nişte servicii. De exemplu pentru eth0 trebuie creat un symlink la /etc/init.d/net.eth0, după care trebuie adăugat net.eth0 în lista de servicii pornite la boot.&lt;br /&gt;
&lt;br /&gt;
 ln -s net.lo /etc/init.d/net.eth0&lt;br /&gt;
 rc-update add net.eth0 default&lt;br /&gt;
&lt;br /&gt;
Dacă aţi modificat parametri unei interfeţe de reţea, o reîncărcaţi executând:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/net.eth0 restart&lt;br /&gt;
&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
Mare parte din fisierele de configurare pentru retea se gasesc in /etc/sysconfig/network-scripts.&lt;br /&gt;
Setarile placilor de retea sunt in /etc/sysconfig/network-scripts/ifcfg-ethN. Sintaxa este intuitiva:&lt;br /&gt;
 IPADDR=192.168.0.1&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 HWADDR=00:11:22:33:44:55&lt;br /&gt;
Atentie, trebuie specificate corect adresele de Network si Broadcast (vezi Subnetting [http://en.wikipedia.org/wiki/Subnetting]).&lt;br /&gt;
Parametrul HWADDR specifica MAC-ul placii de retea respective, pentru cazul in care exista in sistem mai multe placi de retea ce folosesc acelasi driver. Atentie si aici, identificarea placilor pe baza HWADDR nu functioneaza prea bine. Pentru mai multe info, Google dupa &amp;quot;HWADDR&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Dupa modificarea acestor fisiere, se reporneste tot subsistemul de networking cu comanda ''service network restart'' sau ''/etc/init.d/network restart'' (cele doua variante sunt echivalente).&lt;br /&gt;
&lt;br /&gt;
Hint: de obicei, gateway-ul este pastrat in /etc/sysconfig/network.&lt;br /&gt;
&lt;br /&gt;
Setarile firewall-ului sunt pastrate in /etc/sysconfig/iptables. Nu se recomanda editarea manuala a acelui fisier, deoarece va fi incarcat cu ''iptables-restore''; se recomanda construirea manuala a firewall-ului cu comenzi ''iptables'', apoi salvarea regulilor cu comanda ''service iptables save''.&lt;br /&gt;
&lt;br /&gt;
==Scripturile de startup==&lt;br /&gt;
=== Pornirea/oprirea manuală a unui serviciu ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 /etc/init.d/postfix start&lt;br /&gt;
 /etc/init.d/postfix stop&lt;br /&gt;
&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
 service postfix start&lt;br /&gt;
 service postfix stop&lt;br /&gt;
&lt;br /&gt;
=== Adaugarea/eliminarea unui serviciu în/din autostart ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 rc-update add postfix default&lt;br /&gt;
 rc-update del postfix&lt;br /&gt;
&lt;br /&gt;
Daemonii care nu au script de service se pot porni/opri la boot/shutdown adaugându-i în &amp;quot;/etc/conf.d/local.start&amp;quot; şi/sau &amp;quot;/etc/conf.d/local.stop&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
 chkconfig --level 35 postfix on&lt;br /&gt;
 chkconfig --level 35 postfix off&lt;br /&gt;
Observatie: &amp;quot;35&amp;quot; inseamna runlevel-urile 3 si 5. Vezi [http://en.wikipedia.org/wiki/Runlevel].&lt;br /&gt;
&lt;br /&gt;
==== openSUSE 10+ ====&lt;br /&gt;
 chkconfig -s postfix&lt;br /&gt;
 chkconfig -s postfix 35&lt;br /&gt;
 chkconfig -d postfix&lt;br /&gt;
&lt;br /&gt;
sau&lt;br /&gt;
&lt;br /&gt;
 insserv -d postfix&lt;br /&gt;
 insserv -r postfix&lt;br /&gt;
&lt;br /&gt;
Daca nu se speficica runlevel-ul, se va utiliza runlevels &amp;quot;Default-Start&amp;quot; din scriptul respectiv&lt;/div&gt;</summary>
		<author><name>Flower</name></author>	</entry>

	<entry>
		<id>https://wiki.lug.ro/index.php?title=Distro_Way&amp;diff=3995</id>
		<title>Distro Way</title>
		<link rel="alternate" type="text/html" href="https://wiki.lug.ro/index.php?title=Distro_Way&amp;diff=3995"/>
				<updated>2007-12-07T10:25:15Z</updated>
		
		<summary type="html">&lt;p&gt;Flower: librarii -&amp;gt; biblioteci&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GNU/Linux este un sistem de operare deosebit de versatil. E un lucru foarte bun, desigur, dar ca orice lucru foarte bun, are şi părţile lui neplăcute. În cazul nostru este vorba de apariţia unei adevarate &amp;quot;babilonii&amp;quot; de [[distribuţii]], care fac aceleaşi lucruri (de exemplu setarea înterfeţei de reţea) în fel şi chip, făcând viaţa adminstratorilor de sisteme un infern. O să încercăm aici să echivalăm (pe cât este posibil) comenzile necesare pentru configurarea diverselor sisteme bazate pe Linux.&lt;br /&gt;
&lt;br /&gt;
==[[gestionar de pachete|Manager-ul de pachete]]==&lt;br /&gt;
=== Sistemul de management ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Sistemul de management al pachetelor se numeşte ''portage''. Este inspirat din ''ports'', întâlnită la sismele de operare BSD-like. Deosebirea majoră faţă de alte managere este că aplicaţiile sunt instalate în general din surse şi nu din binare. Acest lucru permite un control riguros al capabilităţilor dorite de la aplicaţiilor instalate, prin folosirea variabilei ''USE''.&lt;br /&gt;
Un exemplu destul de comun este eliminarea dependenţelor nedorite faţă de pachete care nu ne sunt necesare. Să luăm cazul postfix (un server SMTP). Acest server are posibilitatea să folosească MySQL pentru tabelele de lookup. Să presupunem că nu ne interesează această capabilitate (sau dimpotrivă, ne interesează). În primul caz vom executa &amp;quot;USE=-mysql emerge postfix&amp;quot;, în cel de-al doilea &amp;quot;USE=mysql emerge postfix&amp;quot;. Managerul de pachete se va adapta şi ne va genera un postfix care NU are ca dependenţă biblioteca ''libmysqlclient'' (în primul caz), fie se va asigura că în sistem există ŞI ''libmysqlclient''. &lt;br /&gt;
Cum rezolvă un astfel de caz un manager de pachete care foloseşte pachete gata compilate? Ar fi vreo patru cazuri:&lt;br /&gt;
* 1) nu ne ofera deloc opţiunea de MySQL (şi atunci trebuie compilat manual)&lt;br /&gt;
* 2) ne obligă să avem suport pentru MySQL, chiar dacă nu avem nevoie de el&lt;br /&gt;
* 3) sunt furnizate pachete care să acopere toate cazurile posibile (foarte greu de aplicat în cazul în care există multe opţiuni posibile)&lt;br /&gt;
* 4) poate avem norocul ca aplicaţia noastră să fie ''plug-abilă'' şi atunci managerul de pachete ne va furniza pachete separate cu fiecare plugin în parte (cum este de exemplu PHP)&lt;br /&gt;
&lt;br /&gt;
Criticii spun ca acest sistem de management al pachetelor este foarte lent (ceea ce e şi normal, având în vedere că se compilează fiecare pachet în parte.&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
Managementul pachetelor la RedHat / CentOS / Fedora se face cu ''yum''. Denumirea vine de la Yellow Dog Updater. Pentru mai multe informatii, o pagina buna de plecare e aici[http://en.wikipedia.org/wiki/Yellow_dog_Updater%2C_Modified]. Sistemul de pachete este ''rpm-based'', iar managementul dependentelor este destul de eficient.&lt;br /&gt;
==== Slackware / Bluewhite64 ====&lt;br /&gt;
Pachetele Slackware / Bluewhite64 cuprind aplicatii binare arhivate tar si compresate gzip. Ele au extensia .tgz si se manipuleaza cu:&lt;br /&gt;
* 1) ''pkgtool'' - este un program bazat pe meniuri dialog cu o interfata intuitiva care permite instalarea, dezinstalarea sau listarea fisierelor unui pachet, precum si vizualizarea unei scurte descrieri a acestuia&lt;br /&gt;
* 2) ''installpkg'' - utilitar in linie de comanda care permite instalarea pachetelor noi. Apelat fara nici o optiune, un pachet instalat anterior va fi '''suprascris fara atentionare'''. Optiunea ''-warn'' vine in ajutor listand fisierele care urmeaza a fi suprascrise, corespunzator cu pachetul respectiv. &lt;br /&gt;
* 3) ''upgradepkg'' - asemanator lui ''installpkg'' cu diferenta ca dezinstaleaza mai intai pachetul vechi dupa care il instaleaza pe cel nou&lt;br /&gt;
* 4) ''explodepkg'' - extrage continutul unui pachet in directorul curent. Este echivalent cu tar -zxf ''nume_pachet'' si este util pentru examinarea fisierelor inainte de instalare&lt;br /&gt;
* 5) ''makepkg'' - impacheteaza continutul directorului curent in format .tgz&lt;br /&gt;
* 6) ''rpm2tgz'' si ''rpm2targz'' - utile pentru transformarea pachetelor RPM in pachete native .tgz. Aceste comenzi, daca sunt combinate cu ''explode'', aduc informatii despre fisierele continute in pachetul RPM&lt;br /&gt;
&lt;br /&gt;
Utilitarele folosesc o baza de date cu inregistrari text pe calea /var/log/packages (pentru pachete instalate) sau /var/log/removed_packages (pentru cele dezinstalate).&lt;br /&gt;
&lt;br /&gt;
Ce e bine sa stiti:&lt;br /&gt;
&lt;br /&gt;
* 1) Instalarea pachetelor '''se face orb''', fara a se tine seama de dependinte si versiuni de biblioteci. Folositi doar pachetele corespunzatoare distributiei! Versiunea o puteti afla cu:&lt;br /&gt;
 cat /etc/slackware-version&lt;br /&gt;
 cat /etc/bluewhite64-version&lt;br /&gt;
* 2) Actualizarea pachetelor presupune reinstalarea acestora, '''nu si a bibliotecilor dependente'''.&lt;br /&gt;
* 3) Folositi ''-warn'' inainte de instalare sau ''--dry-run'' inainte de actualizare. Faceti backup mai ales pachetelor venite pe distributii vechi, care se gasesc mai greu azi.&lt;br /&gt;
&lt;br /&gt;
Mai multe informatii gasiti la [http://www.slackware.com.ro/carte/package-management-package-utilities.html http://www.slackware.com.ro/carte/package-management-package-utilities.html].&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
&lt;br /&gt;
O distribuţie vine în general cu o colecţie destul de largă de aplicaţii, care pot fi furnizate pe suport CD (odată cu distribuţia), ''repository-uri'' oficiale şi ''repository-uri'' de la terţe persoane (aşa numitele 3-rd party). În cele mai multe cazuri ''repository-urile'' aflate în Internet sunt disponibile şi pe mirror-uri locale (pentru un acces mai rapid la ele). Majoritatea distribuţiilor permit alegerea explicită a mirror-ului de unde vrem să se descarce pachetele când instalăm vre-un program.&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
La sistemele Gentoo-based există două tipuri de ''repository-uri'':&lt;br /&gt;
* 1) tree-ul ''portage'', care conţine înformaţii generale (metadata) legate de pachete (cum ar fi [[dependenţe]], patch-uri, locul de unde poate fi descărcat codul sursă, etc)&lt;br /&gt;
* 2) ''distfiles'' (care sunt sursele propriu-zise)&lt;br /&gt;
Ambele ''repository-uri'' se configurează modificând corespunzător fişierul /etc/make.conf:&lt;br /&gt;
&lt;br /&gt;
 SYNC=&amp;quot;rsync://rsync.ro.gentoo.org/gentoo-portage&amp;quot;&lt;br /&gt;
 GENTOO_MIRRORS=&amp;quot;http://gentoo.mirrors.lug.ro/gentoo&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Slackware / Bluewhite64 ====&lt;br /&gt;
&lt;br /&gt;
[http://slackpkg.sourceforge.net/ slackpkg]&lt;br /&gt;
&lt;br /&gt;
[http://swaret.sourceforge.net/ SWareT]&lt;br /&gt;
&lt;br /&gt;
[http://portpkg.berlios.de/ Portpkg]&lt;br /&gt;
&lt;br /&gt;
[http://emerde.freaknet.org/ Emerde]&lt;br /&gt;
&lt;br /&gt;
=== Sincronizare ===&lt;br /&gt;
Unele distribuţii au nevoie de o actulizare periodică a arborelui cu metadate, pentru reîmprospătarea informaţiilor la aplicaţiile nou întroduse în ''repository'', update-uri, etc.&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 emerge -v --sync&lt;br /&gt;
&lt;br /&gt;
=== Actualizarea sistemului ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 emerge -v --sync &amp;amp;&amp;amp; emerge -D --newuse world &amp;amp;&amp;amp; etc-update&lt;br /&gt;
Cu etc-update se corectează eventualele incompatibilităţi în fişierele de configurare între diferitele versiuni ale unui anumit pachet.&lt;br /&gt;
&lt;br /&gt;
=== Căutare ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
La căutare se poate folosi doar un fragment din numele programului. De exemplu:&lt;br /&gt;
 emerge -s postfix&lt;br /&gt;
va returna:&lt;br /&gt;
 *  mail-mta/postfix&lt;br /&gt;
      Latest version available: 2.4.6-r1&lt;br /&gt;
      Latest version installed: 2.4.6-r1&lt;br /&gt;
      Size of files: 2,878 kB&lt;br /&gt;
      Homepage:      http://www.postfix.org/&lt;br /&gt;
      Description:   A fast and secure drop-in replacement for sendmail.&lt;br /&gt;
      License:       IPL-1&lt;br /&gt;
 &lt;br /&gt;
 *  sec-policy/selinux-postfix&lt;br /&gt;
      Latest version available: 20070928&lt;br /&gt;
      Latest version installed: [ Not Installed ]&lt;br /&gt;
      Size of files: 415 kB&lt;br /&gt;
      Homepage:      http://www.gentoo.org/proj/en/hardened/selinux/&lt;br /&gt;
      Description:   SELinux policy for postfix&lt;br /&gt;
      License:       GPL-2&lt;br /&gt;
 &lt;br /&gt;
 *  www-apps/postfixadmin&lt;br /&gt;
      Latest version available: 2.1.0&lt;br /&gt;
      Latest version installed: [ Not Installed ]&lt;br /&gt;
      Size of files: 156 kB&lt;br /&gt;
      Homepage:      http://high5.net/postfixadmin/&lt;br /&gt;
      Description:   Postfix Admin is a Web Based Management tool for Postfix [...]&lt;br /&gt;
      License:       MPL-1.1&lt;br /&gt;
&lt;br /&gt;
=== Instalare ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Sintaxa generală este:&lt;br /&gt;
 emerge NUME_PROGRAM&lt;br /&gt;
În cazul în care apare vreo dependenţă nerezolvată, ''emerge'' va instala toate pachetele de care are nevoie.&lt;br /&gt;
&lt;br /&gt;
=== Actualizare ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Actualizarea unui pachet în Gentoo se rezumă la reinstalarea acestuia. ''emerge'' va instala noul pachet PESTE cel vechi, după care va şterge fişierele din vechiul pachet a căror timestamp corespunde cu ce informaţii despre vechiul pachet are portage în metadate. De exemplu:&lt;br /&gt;
 emerge postfix&lt;br /&gt;
va suprascrie &amp;quot;/usr/sbin/postfix&amp;quot;, care din acest moment are un timestamp mai nou decat ce stie vechea versiune despre acesta (şi din acest motiv va considera că nu-i aparţine, prin urmare nu-l va şterge la uninstall).&lt;br /&gt;
&lt;br /&gt;
=== Dezinstalare ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Atenţie, dezinstalarea din Gentoo nu ţine cont de dependenţe. Dacă aveţi un ''postfix'' cu suport ''mysql'' şi dezinstalaţi ''mysql'' sistemul '''NU VA EMITE NICI UN AVERTISMENT''' legat de dependenţe. Bineinţeles că ''postfix'' va înceta să mai funcţioneze.&lt;br /&gt;
Sintaxa este:&lt;br /&gt;
 emerge --unmerge NUME_PROGRAM&lt;br /&gt;
&lt;br /&gt;
=== Cui aparţine acest fişier? ===&lt;br /&gt;
Întrebare grea, mai ales dacă trebuie să afli această informaţie de la un sistem pe care nu-l cunoşti.&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
E nevoie de un pachet special, numit ''gentoolkit''. După ce în instalaţi, rulaţi comanda de mai jos:&lt;br /&gt;
 equery b /usr/sbin/postfix&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
 rpm -qf /nume/fisier&lt;br /&gt;
&lt;br /&gt;
==Configurarea reţelei==&lt;br /&gt;
=== Setarea &amp;quot;ad-hoc&amp;quot; a parametrilor ===&lt;br /&gt;
Probabil comună oricarei distribuţii Linux (old way):&lt;br /&gt;
&lt;br /&gt;
 ifconfig eth0 192.168.0.1 netmask 255.255.255.0&lt;br /&gt;
 route add default gw 192.168.0.254&lt;br /&gt;
 echo &amp;quot;nameserver 80.23.32.1&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Unde:&lt;br /&gt;
* - eth0 este numele interfeţei de reţea&lt;br /&gt;
* - 192.168.0.1 este IP-ul maşinii pe care o configurăm&lt;br /&gt;
* - 192.168.0.254 este ''default gateway''-ul&lt;br /&gt;
* - 80.23.32.1 este serverul de nume&lt;br /&gt;
&lt;br /&gt;
O metoda mai noua este folosirea comenzii ''ip'' din pachetul ''iproute2''. Cu aceasta comanda se pot gestiona mai bine adresele IP, deoarece permite adaugarea/stergerea de adrese IP pe o interfata fara a mai folosi alias-uri (eth0:alias).&lt;br /&gt;
&lt;br /&gt;
De exemplu:&lt;br /&gt;
 ip address add 192.168.15.1/24 dev eth0&lt;br /&gt;
 ip address del 192.168.15.1/24 dev eth0&lt;br /&gt;
 ip route add default via 192.168.15.254&lt;br /&gt;
&lt;br /&gt;
In plus, ''ip'' mai permite managementul tabelei ARP ('ip neighbor'), managementul tunelelor IP-IP sau GRE ('ip tunnel'), managementul de &amp;quot;rules&amp;quot; pentru folosirea de tabele de routing multiple ('ip rule'), etc.&lt;br /&gt;
Mai multe informatii despre ''ip'' aici: [http://www.policyrouting.org/iproute2-toc.html], sau Google dupa &amp;quot;iproute2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Atenţie, exemplele sunt arbitrare.&lt;br /&gt;
&lt;br /&gt;
=== Configurarea persistentă ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
Fisierul de configurare pentru reţea este /etc/conf.d/net&lt;br /&gt;
Sintaxa este următoarea:&lt;br /&gt;
&lt;br /&gt;
 config_eth0=( &amp;quot;192.168.0.1 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_eth0=( &amp;quot;default via 192.168.0.254&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Nameserver-ele se introduc in /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
In cazul in care in sistem există o placă de reţea şi nu doriţi să o folosiţi, introduceţi&lt;br /&gt;
 config_eth1=( &amp;quot;null&amp;quot; )&lt;br /&gt;
În caz contrar există riscul să i se aloce un IP prin DHCP.&lt;br /&gt;
&lt;br /&gt;
Exemplu pentru o placă wireless (chipset ATHEROS), cu wpa_supplicant:&lt;br /&gt;
&lt;br /&gt;
 modules=( &amp;quot;wpa_supplicant&amp;quot; )&lt;br /&gt;
 wpa_supplicant_ath0=&amp;quot;-Dmadwifi&amp;quot;&lt;br /&gt;
 iwconfig_ath0=&amp;quot;mode managed freq 2.412G rate auto rts 250 frag 512 txpower 18&amp;quot;&lt;br /&gt;
 config_ath0=( &amp;quot;192.168.0.1 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_ath0=( &amp;quot;default via 192.168.0.254&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Crearea unui bridge (util pentru utilizarea cu un ''virtualbox''):&lt;br /&gt;
&lt;br /&gt;
 config_eth0=( &amp;quot;null&amp;quot; )&lt;br /&gt;
 &lt;br /&gt;
 tuntap_tap0=&amp;quot;tap&amp;quot;&lt;br /&gt;
 config_tap0=( &amp;quot;null&amp;quot; )&lt;br /&gt;
 tunctl_tap0=&amp;quot;-u serghei&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 bridge_br0=&amp;quot;eth0 tap0&amp;quot;&lt;br /&gt;
 config_br0=( &amp;quot;10.0.2.2/24&amp;quot; )&lt;br /&gt;
 RC_NEED_br0=&amp;quot;net.eth0 net.tap0&amp;quot;&lt;br /&gt;
 brctl_br0=( &amp;quot;setfd 0&amp;quot; &amp;quot;sethello 0&amp;quot; &amp;quot;stp off&amp;quot; )&lt;br /&gt;
 routes_br0=( &amp;quot;default gw 192.168.0.254&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
In Gentoo interfeţele de reţea sunt &amp;quot;ridicate&amp;quot; ca nişte servicii. De exemplu pentru eth0 trebuie creat un symlink la /etc/init.d/net.eth0, după care trebuie adăugat net.eth0 în lista de servicii pornite la boot.&lt;br /&gt;
&lt;br /&gt;
 ln -s net.lo /etc/init.d/net.eth0&lt;br /&gt;
 rc-update add net.eth0 default&lt;br /&gt;
&lt;br /&gt;
Dacă aţi modificat parametri unei interfeţe de reţea, o reîncărcaţi executând:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/net.eth0 restart&lt;br /&gt;
&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
Mare parte din fisierele de configurare pentru retea se gasesc in /etc/sysconfig/network-scripts.&lt;br /&gt;
Setarile placilor de retea sunt in /etc/sysconfig/network-scripts/ifcfg-ethN. Sintaxa este intuitiva:&lt;br /&gt;
 IPADDR=192.168.0.1&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 HWADDR=00:11:22:33:44:55&lt;br /&gt;
Atentie, trebuie specificate corect adresele de Network si Broadcast (vezi Subnetting [http://en.wikipedia.org/wiki/Subnetting]).&lt;br /&gt;
Parametrul HWADDR specifica MAC-ul placii de retea respective, pentru cazul in care exista in sistem mai multe placi de retea ce folosesc acelasi driver. Atentie si aici, identificarea placilor pe baza HWADDR nu functioneaza prea bine. Pentru mai multe info, Google dupa &amp;quot;HWADDR&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Dupa modificarea acestor fisiere, se reporneste tot subsistemul de networking cu comanda ''service network restart'' sau ''/etc/init.d/network restart'' (cele doua variante sunt echivalente).&lt;br /&gt;
&lt;br /&gt;
Hint: de obicei, gateway-ul este pastrat in /etc/sysconfig/network.&lt;br /&gt;
&lt;br /&gt;
Setarile firewall-ului sunt pastrate in /etc/sysconfig/iptables. Nu se recomanda editarea manuala a acelui fisier, deoarece va fi incarcat cu ''iptables-restore''; se recomanda construirea manuala a firewall-ului cu comenzi ''iptables'', apoi salvarea regulilor cu comanda ''service iptables save''.&lt;br /&gt;
&lt;br /&gt;
==Scripturile de startup==&lt;br /&gt;
=== Pornirea/oprirea manuală a unui serviciu ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 /etc/init.d/postfix start&lt;br /&gt;
 /etc/init.d/postfix stop&lt;br /&gt;
&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
 service postfix start&lt;br /&gt;
 service postfix stop&lt;br /&gt;
&lt;br /&gt;
=== Adaugarea/eliminarea unui serviciu în/din autostart ===&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
 rc-update add postfix default&lt;br /&gt;
 rc-update del postfix&lt;br /&gt;
&lt;br /&gt;
Daemonii care nu au script de service se pot porni/opri la boot/shutdown adaugându-i în &amp;quot;/etc/conf.d/local.start&amp;quot; şi/sau &amp;quot;/etc/conf.d/local.stop&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== RedHat ====&lt;br /&gt;
 chkconfig --level 35 postfix on&lt;br /&gt;
 chkconfig --level 35 postfix off&lt;br /&gt;
Observatie: &amp;quot;35&amp;quot; inseamna runlevel-urile 3 si 5. Vezi [http://en.wikipedia.org/wiki/Runlevel].&lt;br /&gt;
&lt;br /&gt;
==== openSUSE 10+ ====&lt;br /&gt;
 chkconfig -s postfix&lt;br /&gt;
 chkconfig -s postfix 35&lt;br /&gt;
 chkconfig -d postfix&lt;br /&gt;
&lt;br /&gt;
sau&lt;br /&gt;
&lt;br /&gt;
 insserv -d postfix&lt;br /&gt;
 insserv -r postfix&lt;br /&gt;
&lt;br /&gt;
Daca nu se speficica runlevel-ul, se va utiliza runlevels &amp;quot;Default-Start&amp;quot; din scriptul respectiv&lt;/div&gt;</summary>
		<author><name>Flower</name></author>	</entry>

	</feed>