Distro Way

De la Wiki.lug.ro
Salt la: navigare, căutare
Acest articol este prea lung. Puteţi ajuta împărțind conținutul în mai multe pagini.

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 "babilonii" de distribuţii, care fac aceleaşi lucruri (de exemplu setarea interfeţei de reţea) în fel şi chip, făcând viaţa administratorilor 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.

Cuprins

Documentaţie

Generală

Debian

Cel mai important este manualul de referinţă ce poate fi instalat şi ca pachet (debian-reference). Pentru instalare a se vedea manualul de instalare şi notele de lansare pentru versiunea respectivă. Acestea din urmă sunt foarte importante în cazul unei actualizări de la o versiune la alta.

Slackware / Bluewhite64

Manualul de referinta este Slackware Linux Essentials cu traducerea lui in limba romana pe site-ul Comunitatii Slackware Linux din Romania (versiunea PDF la [1]).

În funcţie de pachet/program

Debian

Documentaţia fiecărui pachet poate fi găsită în /usr/share/doc/nume_pachet. Începeţi cu README.Debian care în general va conţine informaţii specifice Debian. Anumite programe conțin documentaţie foarte mare, caz în care aceasta va fi disponibilă într-un pachet separat cu denumire pachet-doc (ex. postfix-doc). Notă: din motive de licenţe anumite documentaţii sunt disponibile doar în non-free.

Orice program din Debian are o pagină de manual (man). Există pagini (în secţiunea 5) şi pentru fişierele de configurare specifice: interfaces, sources.list, apt.conf, apt_preferences, ...

Slackware / Bluewhite64

Documentatia specifica pachetelor se afla pe calea /usr/doc/nume_pachet iar paginile de manual pe /usr/man. Modificati MANPATH in /etc/profile daca instalati compiland surse de pachete pe cai mai neobisnuite (configure --with-prefix=/usr/local/nume_pachet). Exemplu:

export MANPATH=/usr/local/man:/usr/man:/usr/X11R6/man:/usr/local/squid/man

Manager-ul de pachete

Sistemul de management

Debian

Pentru gestionarea pachetelor este folosit sistemul APT (Advanced Package Tool) prin intermediul a diferite interfeţe. APT poate fi folosit pentru instalarea pachetelor din aproape orice sursă (http/ftp, unitati externe, pseudo-arhive locale) dacă aceasta a fost configurată corect în /etc/apt/sources.list. Dependenţele sunt instalate automat. În versiunea veche (4.0 etch) doar aptitude instalează şi pachetele recomandate, dar începând cu versiunea 5.0 (lenny) aceasta este setarea implicită pentru APT. Pachetele recomandate de un alt pachet sunt considerate necesare în toate instalarile normale.

Diverse configurări pentru sistemul APT se pot face în /etc/apt/apt.conf. Pentru utilizatorii care doresc instalarea unor pachete din versiunea testare sau instabil sau din surse alternative este util si fisierul /etc/apt/preferences unde se pot configura preferinţe pentru versiuni, surse, sau chiar pachete individuale.

Pentru utilizare normală se recomanda aptitude, deşi multă lume încă foloseşte apt-get. Acest program poate fi folosit direct în linie de comandă sau, dacă este pornit fara nici o opţiune, în mod interactiv. (Interfaţa a fost inspirată după mutt.) În partea de sus sunt afişate pachetele pe categorii iar în partea de jos descrierea pachetului selectat. Cu Enter se pot obţine informaţii şi mai detaliate, inclusiv ce pachete depind de acest pachet. Cu + se marchează un pachet pentru instalare (install), cu - pentru dezinstalare (remove) iar cu _ spre dezinstalare şi ştergere fisiere de configurare (purge). u (update) actualizează lista de pachete iar U (dist-upgrade/full-upgrade) pregăteşte o actualizare a tuturor pachetelor ce pot fi actualizate.

În linie de comandă mai există şi acţiunea upgrade (sau safe-upgrade în versiunile mai noi) care nu va actualiza pachete dacă este necesară instalarea sau dezinstalarea altor pachete. Cu tasta g (de la „go”) se poate vedea un sumar al acţiunilor ce vor fi efectuate. în acest moment se pot face modificări sau renunţa cu tasta q. Un al doilea g va efectua modificările cerute. Acţiunile se pot executa şi din meniu, care este accesibil cu Ctrl-t (sau F10).

aptitude (și APT începând cu lenny) păstrează evidența pachetelor instalate doar ca dependenţă pentru un alt pachet (ex. pidgin-data depinde de pidgin). Dacă toate pachetele de care depinde acel pachet au fost dezinstalate atunci şi acel pachet va fi dezinstalat automat. Dacă totuşi doriţi să păstraţi acel pachet puteţi oricănd să îl marcaţi ca şi instalat manual cu m. Pentru marcare ca instalat automat se foloseşte M. (Marcarea ca instalat automat este o metodă foarte bună de a scăpa de pachete inutile).

Alte programe de nivel superior utilizate frecvent sunt apt-get (doar linie de comanda) şi synaptic (grafic).

Instalarea directă a unui singur pachet fără dependenţe se poate face cu dpkg, dar dacă pachetul este disponibil dintr-o sursă dedicată (repository) se recomanda folosirea APT care va transmite toate comenzile necesare pentru dpkg. Pachetele Debian au extensia .deb şi sunt de fapt o arhivă de tip ar.

Gentoo

Sistemul de management al pachetelor se numeşte portage. Este inspirat din ports, întâlnit la sistemele 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ţiile instalate, prin folosirea variabilei USE. 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 "USE=-mysql emerge postfix", în cel de-al doilea "USE=mysql emerge postfix". 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. Cum rezolvă un astfel de caz un manager de pachete care foloseşte pachete gata compilate? Ar fi vreo patru cazuri:

  • 1) nu ne oferă deloc opţiunea de MySQL (şi atunci trebuie compilat manual)
  • 2) ne obligă să avem suport pentru MySQL, chiar dacă nu avem nevoie de el
  • 3) sunt furnizate pachete care să acopere toate cazurile posibile (foarte greu de aplicat în cazul în care există multe opţiuni posibile)
  • 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)

Criticii spun că 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).

RedHat

Programul low-level cu care se face managementul pachetelor la RedHat / CentOS / Fedora este numit rpm. Acesta permite instalarea, ştergerea, actualizarea şi interogarea pachetelor (instalate sau nu) asupra informaţiilor despre acestea. Aceste informaţii se referă între altele la nume (evident :) ), data şi locul unde a fost creat pachetul, spaţiul ocupat, packager, vendor, sursa originală, licenţă, o descriere sumară şi una completă, lista completă a resurselor adaugate in sistem la instalare (provides), a celor necesare pt funcţionare (requires), a fişierelor care vor fi adăugate sistemului şi arhitectura de procesor pe care lucrează. Documentaţia şi fişierele de configurare sînt specificate separat şi pot fi accesate direct utilizînd parametri specifici. Toate fisierele sînt însoţite de o sumă de control (MD5) şi atribute precum proprietar, drepturi de acces şi data creării, ceea ce facilitează verificările de securitate şi detectarea alterărilor. In plus la instalare/dezinstalare/upgrade fişierele de configurare pot fi manipulate diferit atunci cînd se detectează că au fost modificate de către utilizator, evitîndu-se astfel suprascrierea accidentală.

In Redhat Enterprise pînă la versiunea 4 inclusiv, managementul high-level al pachetelor se face cu utilitarul up2date (care are şi un frate grafic, bazat pe Gnome). Acest utilitar este conceput să acceseze reţeaua RHN (RedHat Network) prin care RedHat distribuie informaţii către clienţii săi. In Centos si Fedora, precum şi în Redhat Enterprise Linux incepind cu versiunea 5.0, managementul high-level (in mod text) se face cu yum, a cărui denumire vine de la Yellow Dog Updater, Modified. Pentru mai multe informaţii, recomandăm pagina originară a proiectului, [2]. yum are următoarele funcţii de bază:

  • listare pachete (instalate / disponibile în repositories) (comanda list)
  • afişarea informaţiilor despre unul sau mai multe pachete (comanda info)
  • afişarea informaţiilor referitoare la dependenţe (requires, provides, whatprovides, deplist)
  • căutarea unui pachet sau a unui cuvint in descrierea pachetelor şi a elementelor oferite de pachete (asa numitele provides) (comanda search)
  • instalarea unuia sau mai multor pachete şi a tuturor dependenţelor sale/lor, inclusiv prin specificarea unui element oferit de către pachet fără a fi necesară cunoaşterea în avans a numelui pachetului. Spre pildă se poate cere instalarea unei anumite biblioteci sau a unui program doar prin specificarea numelui fişierului respectiv, fără a fi nevoie să ştim din ce pachet face parte (comenzile install şi localinstall)
  • instalarea/actualizarea/dezinstalarea unui set de pachete grupate într-o unitate funcţională (groupinstall, groupupdate, grouperase). De exemplu yum groupinstall XFCE va aduce si instala toate pachetele necesare funcţionarii window-managerului XFCE
  • ştergerea unuia sau mai multor pachete simultan cu a tuturor pachetelor care depind de el[e] (comanda delete)
  • upgradarea unuia sau mai multor pachete (comenzile update şi localupdate)

Verificarea sumei de control şi a semnăturii pachetelor se fac automat, în afara cazului că această ultimă verificare este explicit dezactivată.

Pentru yum au fost scrise numeroase plugin-uri care permit diverse operaţii suplimentare, precum:

  • alocarea de priorităţi diferitelor repository-uri: atunci cind există surse multiple de unde poate fi adus un pachet, cele provenite din repository-uri cu prioritate mai mare fiind preferate (priorities)
  • protejarea pachetelor provenite din distribuţie: nu se permite înlocuirea lor de către pachete cu acelaşi nume provenite din alte repo (protectbase)
  • alegerea repository-ului de unde se face cel mai rapid download (fastestmirror)
  • yum-merge-conf, plugin care permite contopirea fişierelor de configurare existente cu cele nou instalate (.rpm{save /new}); se poate face diff între fisiere, alegerea unei anume versiuni sau lansarea unui shell pentru modificari mai ample
  • installonlyn - limitează numărul maxim de kernele care pot coexista la un moment dat la n; implicit se păstrează cele mai recente două versiuni
  • yum-changelog - permite vizualizarea Changelog-ului înainte/după update
  • yum-plugin-kmdl - încearcă să menţină sincronizarea între pachetele kernel şi modulele de kernel suplimentare instalate din alte repo
  • yum-protect-packages protejează de suprascriere anumite pachete importante. Implicit este vorba despre rpm, python, yum, glibc dar se pot adăuga şi altele
  • yum-security filtrează pachetele, alegînd şi instalînd doar cele marcate ca fiind update-uri care rezolvă probleme de securitate. Scopul este limitarea numărului de modificări la doar cele esenţiale, pentru a evita astfel eventuale probleme şi instabilităţi


Pentru cei care preferă metode grafice de administrare există

  • system-config-packages (cunoscut si ca pirut -- se pronunţa ca şi pirate - în RHEL5, Centos 5 şi versiunile noi de Fedora) -- inclus în distribuţie
  • kyum -- disponibil în Fedora EPEL pt RHEL 5/ Centos 5 şi în Fedora Everything
  • yumex -- disponibil în Centos Extras pentru RHEL 4 / Centos 4, Fedora EPEL pt RHEL 5/ Centos 5 şi respectiv în Fedora Everything

Menţinerea permanentă de către rpm a unei baze de date (în format BerkeleyDB) cu informaţii complete asupra pachetelor instalate face ca managementul să fie foarte eficient. yum este scris în cea mai mare parte în python, ceea ce ii oferă o mare flexibilitate, dar pînă de curînd viteza cu care se rezolvau dependenţele nu era punctul lui forte (punctul forte era funcţionarea în arhitecturi multi-lib aka mixte 32/64 de biţi). Depsolverul a fost însă rescris iar viteza sa actuală a devenit cu mult mai bună decît era in trecut.

Slackware / Bluewhite64

Pachetele Slackware / Bluewhite64 cuprind aplicaţii binare arhivate tar şi compresate gzip. Ele au extensia .tgz şi se manipulează cu:

  • 1) pkgtool - este un program bazat pe meniuri dialog cu o interfaţă intuitivă care permite instalarea, dezinstalarea sau listarea fişierelor unui pachet, precum şi vizualizarea unei scurte descrieri a acestuia
  • 2) installpkg - utilitar în linie de comandă care permite instalarea pachetelor noi. Apelat fără nici o opţiune, un pachet instalat anterior va fi suprascris fără atenţionare. Opţiunea -warn vine în ajutor listând fişierele care urmează a fi suprascrise, corespunzator cu pachetul respectiv.
  • 3) upgradepkg - asemănător lui installpkg cu diferenţa că dezinstalează mai întâi pachetul vechi după care îl instalează pe cel nou
  • 4) explodepkg - extrage conţinutul unui pachet în directorul curent. Este echivalent cu tar -zxf nume_pachet şi este util pentru examinarea fişierelor înainte de instalare
  • 5) makepkg - împachetează conţinutul directorului curent în format .tgz
  • 6) rpm2tgz şi rpm2targz - utile pentru transformarea pachetelor RPM în pachete native .tgz. Aceste comenzi, dacă sunt combinate cu explode, aduc informaţii despre fişierele conţinute în pachetul RPM

Utilitarele folosesc o bază de date cu înregistrări text pe calea /var/log/packages (pentru pachete instalate) sau /var/log/removed_packages (pentru cele dezinstalate).

Ce e bine să ştiţi:

  • 1) Instalarea pachetelor se face orb, fără a se ţine seama de dependenţe şi versiuni de biblioteci. Folosiţi doar pachetele corespunzatoare distributiei! Versiunea o puteţi afla cu:
cat /etc/slackware-version
cat /etc/bluewhite64-version
  • 2) Actualizarea pachetelor presupune reinstalarea acestora, nu şi a bibliotecilor de care depind.
  • 3) Folosiţi -warn înainte de instalare sau --dry-run înainte de actualizare. Faceţi backup mai ales pachetelor venite pe distribuţii vechi, care se găsesc mai greu azi.

Mai multe informaţii găsiţi la http://www.slackware.com.ro/carte/package-management-package-utilities.html.

Repository

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.

Debian

Arhiva Debian conţine în orice moment 4 versiuni Debian:

  • 1) unstable conţine pachetele considerate bune pentru următoarea distribuţie. Dacă nu sunt raportate probleme majore în decurs de 10 zile (sau nu au probleme de dependenţe) acestea vor migra automat în testing. unstable nu este recomandat decât experţilor, dar conţine cele mai noi pachete.
  • 2) testing este viitoarea versiune stabilă. Acesta porneşte ca o copie a versiunii stabile şi evoluează pe măsură ce pachete mai noi migrează din unstable. Deşi are suport de securitate nu este recomandat pentru producţie (decât eventual ca desktop) deoarece poate avea probleme de stabilitate şi necesită mai mult efort în administrare/actualizare.
  • 3) stable' este versiunea stabilă curentă. Aceasta are suport de securitate (prin intermediul arhivei dedicate de securitate) şi este recomandată pentru sistemele de producţie. O versiune stabilă este lansată o dată la aproximativ 1.5 ani şi nu va primi decăt actualizări de securitate sau pentru probleme foarte serioase (din arhiva proposed-updates sau din arhiva principala la „point-release” (r1, r2, ...). Din acest motiv nu va conţine cele mai noi versiuni de programe. Pentru acele pachete care necesită actualizări frecvente (ex. definiţii pentru programe antivirus) este folosită arhiva volatile.
  • 4) oldstable conţine versiunea stabilă precedentă. Aceasta are suport de securitate încă un an după lansarea noii versiuni stabile. Totuşi se recomandă actualizarea la versiunea stabilă. Debian suportă actualizări între versiuni prin sistemul APT (fără reinstalare).

Cele patru versiuni au nume de cod ce pot fi folosite şi în fişierele de configurare. În acest moment (Jul. 2009) oldstable este etch, stable este lenny iar testing este squeeze. Numele sunt inspirate după personaje din filmul Toy Story. unstable este întotdeauna sid, copilul din vecini care strică jucării :)

În anumite cazuri dezvoltatorii Debian vor încărca pachete în experimental pentru a fi testate de o audienţă mai largă. Aceste pachete nu sunt considerate suficient de bune pentru unstable aşa că folosiţi cu grijă!

Arhiva Debian este în acelaşi timp împărţită şi în 3 „componente”, după cât de libere sunt pachetele:

  • 1) main conţine doar pachete libere, mai exact a căror licenţă a fost considerată compatibilă cu principiile Debian - DFSG (ex. GPL)
  • 2) contrib conţine pachete libere, dar care depind de pachete sau componente mai puţin libere (ex. din non-free).
  • 3) non-free conţine pachete pentru care este permisă redistribuirea de către Debian, dar au alte restricţii care le face incompatibile cu DFSG (ex. nu oferă codul sursă, nu pot fi folosite decât în mediu educaţional, etc.).

Un exemplu de linii de surse /etc/apt/sources.list pentru pachete binare şi pachete sursă pentru versiunea etch, toate trei componentele (main, contrib și non-free) folosind metoda http pentru a accesa mirror-ul principal din România:

deb http://ftp.ro.debian.org/debian etch main contrib non-free
deb-src http://ftp.ro.debian.org/debian etch main contrib non-free

Arhiva de securitate se poate folosi cu următoarea linie:

deb http://security.debian.org/ etch/updates main contrib non-free

Aceasta n-ar trebui să lipsească din nici o instalare Debian stable (testing are propria arhiva de securitate)!

Pentru adaugarea CD/DVD-urilor de tipul celor de instalare (sau imagini ISO montate în mod loop) în sources.list trebuie folosit programul apt-cdrom.

Arhive neoficiale:

  • www.backports.org conţine pachete din testing recompilate pentru stable. A se folosi dacă pe un sistem stabil sunt necesare anumite pachete mai noi.
  • www.debian-multimedia.org conţine în general pachete multimedia care nu pot fi redistribuite de Debian nici măcar în non-free (ex. mplayer, mencoder, acroread, libdvdcss2, ...)

Gentoo

La sistemele Gentoo-based există două tipuri de repository-uri:

  • 1) tree-ul portage, care conţine informaţii generale (metadata) legate de pachete (cum ar fi dependenţe, patch-uri, locul de unde poate fi descărcat codul sursă, etc)
  • 2) distfiles (care sunt sursele propriu-zise)

Ambele repository-uri se configurează modificând corespunzător fişierul /etc/make.conf:

SYNC="rsync://rsync.ro.gentoo.org/gentoo-portage"
GENTOO_MIRRORS="http://gentoo.mirrors.lug.ro/gentoo"

Centos

Se recomanda cu multa caldura (a se intelege ca este obligatorie) parcurgerea documentatiei de aici

Slackware / Bluewhite64

Deoarece distributia nu contine instrumente pentru rezolvarea automata a dependentelor si nu pune la dispozitie un sistem automat pentru descarcarea si instalarea acestora, aplicatii terte vin sa completeze aceste lipsuri. Ele sunt impartite in:

  • 1) Instrumente bazate pe repozitorii dar care nu satisfac dependente (repository-based tools)

slackpkg - inclus pe al doilea CD al distributiei incepand cu versiunea 9.1, este un instrument automat pentru managementul pachetelor. Poate instala si actualiza pachete prin retea din repozitorii oficiale Slackware.

  • 2) Instrumente care satisfac dependente

swaret - ca si slakpkg, este o aplicatie care cauta, instaleaza si actualizeaza pachete prin retea. Poate cauta in repozitorii terte cum ar fi LinuxPackages.net si e capabila sa-si instaleze automat bibliotecile dependente.

slapt-get si versiunea GTK gslapt - aplicatie care incearca sa emuleze apt-get folosind instrumentele native Slackware (installpkg, upgradepkg, removepkg).

portpkg - este o aplicatie similara cu emerge pe sistemele Gentoo - descarca si compileaza sursele unui program, apoi il instaleaza, bazandu-se pe informatiile continute in asa numitele ports tree. In mod traditional, adaugati programe pe un sistem Slackware, fie instaland un pachet gata facut, fie generati codul binar compiland sursele acestora in mod manual. In timp ce prima metoda ar putea sa nu va satisfaca, a doua ofera un deplin control asupra codului rezultat prin aceea ca puteti alege exact optiunile de compilare dorite. Portpkg este undeva la mijloc: are o interfata asemanatoare cu installpkg si in acelasi timp, un sistem de scripturi pe care sistemul le foloseste la compilare si care va ofera mai mult control.

Sincronizare

Unele distribuţii au nevoie de o actualizare periodică a arborelui cu metadate, pentru reîmprospătarea informaţiilor la aplicaţiile nou introduse în repository, update-uri, etc.

Debian

aptitude update

Uneori această comandă trebuie rulată de mai multe ori consecutiv. În mod interactiv se foloseşte tasta „u” (mic).

Gentoo

emerge -v --sync

RedHat Enterprise >=5, Centos, Fedora

Implicit actualizarea metadatelor se face automat la fiecare rulare a lui yum. Se poate forta rularea numai din cache-ul local folosind un parametru specific in linia de comandă.

Actualizarea sistemului

Debian

aptitude update && aptitude safe-upgrade

Pentru actualizarea la o versiune nouă Debian sau în cazul în care se foloseşte versiunea testing sau unstable ar putea fi nevoie de full-upgrade. În versiuni mai vechi aceste comenzi se numeau upgrade respectiv dist-upgrade.

Gentoo

emerge -v --sync && emerge -D --newuse world && etc-update

Cu etc-update se corectează eventualele incompatibilităţi în fişierele de configurare între diferitele versiuni ale unui anumit pachet.

RedHat Enterprise anterior versiunii 5

up2date -u

RedHat Enterprise 5, Centos, Fedora

yum update

Căutare

Debian

aptitude foloseşte căutare inspirată după mutt. Se poate căuta după numele pachetului (chiar şi parţial)

aptitude search nume_pachet

sau în diverse alte câmpuri, ex.

aptitude search !~i~dfoo

va căuta „foo” în descrierea pachetelor care nu sunt instalate.

În mod interactiv „/” este folosit pentru căutare şi „l” pentru „limitarea” afişării după criteriile specificate. Cele două se pot combina.

dpkg poate afişa pachetele instalate (opţiunea -l), toate sau după nume (doar întreg sau regex). Pentru căutarea pachetului care conţine un anumit fişier sau afişarea fişierelor conţinute într-un pachet se foloseşte apt-file (nu este instalat implicit și necesită un update înainte de folosire).

Pentru fişiere existente în sistem sau pachete deja instalate dpkg (opţiunile -S respectiv -L) va fi mai rapid.

Gentoo

La căutare se poate folosi doar un fragment din numele programului. De exemplu:

emerge -s postfix

va returna:

*  mail-mta/postfix
     Latest version available: 2.4.6-r1
     Latest version installed: 2.4.6-r1
     Size of files: 2,878 kB
     Homepage:      http://www.postfix.org/
     Description:   A fast and secure drop-in replacement for sendmail.
     License:       IPL-1

*  sec-policy/selinux-postfix
     Latest version available: 20070928
     Latest version installed: [ Not Installed ]
     Size of files: 415 kB
     Homepage:      http://www.gentoo.org/proj/en/hardened/selinux/
     Description:   SELinux policy for postfix
     License:       GPL-2

*  www-apps/postfixadmin
     Latest version available: 2.1.0
     Latest version installed: [ Not Installed ]
     Size of files: 156 kB
     Homepage:      http://high5.net/postfixadmin/
     Description:   Postfix Admin is a Web Based Management tool for Postfix [...]
     License:       MPL-1.1

RedHat Enterprise 5, Centos, Fedora

Căutarea propriu-zisă se face cu

 yum search <regex>

Se pot face căutari după

  • numele unui fisier
  • numele unui pachet
  • un sir de caractere inclus in descrierile pachetelor
  • o anume dependentă

De pildă:

  $yum search postfix

va returna

 postfix.x86_64 : Postfix Mail Transport Agent
 pfqueue.i386 : Queue manager for the Postfix/Exim Mail Transport Agents
 postfix.i386 : Postfix Mail Transport Agent
 tinyca2.noarch : Simple graphical userinterface to manage a small CA
 sqlgrey.noarch : Postfix grey-listing policy service
 postgrey.noarch : Postfix Greylisting Policy Server
 postfix-pflogsumm.x86_64 : A Log Summarizer/Analyzer for the Postfix MTA
 pfqueue.x86_64 : Queue manager for the Postfix/Exim Mail Transport Agents
 mailgraph.noarch : A RRDtool frontend for Mail statistics
 queuegraph-selinux.noarch : A RRDtool frontend for Mail statistics
 postfix-pflogsumm.x86_64 : A Log Summarizer/Analyzer for the Postfix MTA
 mailgraph.noarch : A RRDtool frontend for Mail statistics
 pop-before-smtp.noarch : Watch log for POP/IMAP auth, notify MTA to allow relay
 queuegraph.noarch : A RRDtool frontend for Mail statistics
 postfix.x86_64 : Postfix Mail Transport Agent
 libnss-mysql.x86_64 : NSS library for MySQL
 libnss-mysql.i386 : NSS library for MySQL
 spamassassin.x86_64 : Spam filter for email which can be invoked from mail delivery agents.

pe cind

 $ yum provides MTA

va lista toate pachetele urmare instalarii carora devine disponibil serviciul virtual MTA:

 postfix.x86_64 : Postfix Mail Transport Agent
 ssmtp.x86_64 : Extremely simple MTA to get mail off the system to a Mailhub
 sendmail.x86_64 : A widely used Mail Transport Agent (MTA)
 exim.x86_64 : The exim mail transfer agent
 sendmail.i386 : A widely used Mail Transport Agent (MTA)
 sendmail.x86_64 : A widely used Mail Transport Agent (MTA)
 postfix.i386 : Postfix Mail Transport Agent
 postfix.x86_64 : Postfix Mail Transport Agent
 sendmail.x86_64 : A widely used Mail Transport Agent (MTA)

Daca dorim o anume biblioteca (de pilda libgcc.so) al carei nume il banuim fara a-l sti exact putem folosi:

 $ yum provides libgcc\*
 livna                     100% |=========================| 2.1 kB    00:00
 fedora                    100% |=========================| 2.1 kB    00:00
 updates                   100% |=========================| 2.3 kB    00:00
 filelists.sqlite.bz2      100% |=========================|  77 kB    00:00
 libgcc.i386 : GCC version 4.1 shared support library
 libgcc.x86_64 : GCC version 4.1 shared support library
 gc.i386 : C++ Garbage Collector
 gc.x86_64 : C++ Garbage Collector
 openoffice.org-core.x86_64 : Core modules for openoffice.org
 openoffice.org-core.x86_64 : Core modules for openoffice.org
 gc.i386 : A garbage collector for C and C++
 libgcc.i386 : GCC version 4.1 shared support library
 libgcc.x86_64 : GCC version 4.1 shared support library
 gc.x86_64 : A garbage collector for C and C++
 libgcc.i386 : GCC version 4.1 shared support library
 AdobeReader_enu.i486 : Adobe Reader for Linux. An application that can view, navigate and print PDF documents.
 libgcc.x86_64 : GCC version 4.1 shared support library

Cu ocazia asta am aflat si ca Adobe Reader vine cu propria varianta a bibliotecii libgcc. Ca orice aplicatie comerciala care se respecta, distribuita in format binar si compilata static.

Sufixul x86_64 atrage atenţia ca pachetul respectiv este compilat pentru arhitecturi pe 64 de biţi. Comanda yum info ne va da detalii despre pachetele de interes. Continuind cu exemplul postfix:

 $ yum info postfix
 livna                     100% |=========================| 2.1 kB    00:00
 fedora                    100% |=========================| 2.1 kB    00:00
 updates                   100% |=========================| 2.3 kB    00:00
 Available Packages
 Name   : postfix
 Arch   : i386
 Epoch  : 2
 Version: 2.4.5
 Release: 2.fc7
 Size   : 3.6 M
 Repo   : updates
 Summary: Postfix Mail Transport Agent
 Description:
 Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL),TLS
 Name   : postfix
 Arch   : x86_64
 Epoch  : 2
 Version: 2.4.5
 Release: 2.fc7
 Size   : 3.8 M
 Repo   : updates
 Summary: Postfix Mail Transport Agent
 Description:
 Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL),TLS

Instalare

Debian

aptitude install NUME_PACHET

Dacă trebuie instalate dependenţe acestea vor fi afişate şi se va cere confirmare.

În modul interactiv se apasă + pentru a marca un pachet pentru instalare.

Gentoo

Sintaxa generală este:

emerge NUME_PROGRAM

În cazul în care apare vreo dependenţă 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.

Slackware / Bluewhite64

installpkg postfix-2.3.3-i486-1kjz.tgz

Slackware nu rezolva dependente. Asigurati-va ca pachetul este precompilat pentru versiunea corecta si ca aveti instalate toate bibliotecile:

cat /etc/slackware-version
ldd $(which postfix)|grep "not found"
       libpq.so.4 => not found

Actualizare

Debian

aptitude safe-upgrade

va actualiza toate pachetele care au versiuni mai noi. Dacă actualizarea necesită dezinstalarea altor pachete atunci trebuie folosit full-upgrade, dar aceste situaţii nu pot apărea decăt la actualizarea la o versiune nouă Debian sau cănd se folosesc versiunile testing şi unstable. În versiunile mai vechi de aptitude aceste comenzi se numeau upgrade respectiv dist-upgrade.

În mod interactiv tasta „U” (Shift-u) pregăteşte un full-upgrade. Actualizarea unui singur pachet fără dependenţe şi din alte surse decât arhive APT (ex. compilate local) se poate face cu funcţia de instalare (-i) a dpkg.

Gentoo

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:

emerge postfix

va suprascrie "/usr/sbin/postfix", care din acest moment are un timestamp mai nou decat ce ştie vechea versiune despre acesta (şi din acest motiv va considera că nu-i aparţine, prin urmare nu-l va şterge la uninstall).

Dezinstalare

Debian

Există două feluri de dezinstalare. remove va dezinstala pachetul dar va păstra fişierele de configurare. purge va şterge inclusiv fişierele de configurare conţinute în pachet. Tastele pentru modul interactiv sunt „-” (minus) respectiv „_” (underscore). În versiunea stabilă curentă (4.0 etch) doar aptitude va dezinstala şi dependenţele care nu mai sunt necesare.

Gentoo

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. Sintaxa este:

emerge --unmerge NUME_PROGRAM

RedHat Enterprise >= 5, Centos, Fedora

yum remove NUME_PACHET

Dacă pachetul respectiv este necesar altor pachete din sistem, acestea vor fi si ele propuse automat pentru stergere. Stergerea se poate face si direct cu utilitarul rpm:

 rpm -e NUME_PACHET

In acest caz, dacă pachetul respectiv este necesar altor pachete din sistem, acestea vor fi listate iar stergerea este abortata. Cu un parametru special (cititi documentatia ca sa aflati care) puteti forta stergerea, inhibind procesarea dependentelor. Utilizind un alt parametru se poate face o dezinstalare a unui pachet pastrind insa toate fisierele acestuia sub forma de rpm, iar la nevoie acest pachet poate fi reinstalat. Atentie insa, nu se pastreaza informatiile de control ale pachetului initial.

Slackware / Bluewhite64

removepkg postfix

sau

removepkg /var/log/packages/postfix-2.3.3-i486-1kjz

Fisierele de configurare de pe calea "/etc/postfix/" nu vor fi sterse. Daca vreti o dezinstalare curata, stergeti-le manual. La fel daca doriti o reinstalare curata; installpkg nu le va suprascrie.

Cui aparţine acest fişier?

Întrebare grea, mai ales dacă trebuie să afli această informaţie de la un sistem pe care nu-l cunoşti.

Debian

dpkg -S fişier

pentru fişiere din pachete instalate sau

apt-file update && apt-file search fişier

pentru pachete din arhive. apt-file nu este instalat implicit.

Gentoo

E nevoie de un pachet special, numit gentoolkit. După ce îl instalaţi, rulaţi comanda de mai jos:

equery b /usr/sbin/postfix

RedHat

rpm -qf /nume/fisier

Repararea sistemului

În cazul în care ai actualizat/şters anumite pachete/fişiere sistemul poate deveni instabil. Cele mai multe distribuţii pun la dispoziţie diverse utilitare de reparare a sistemului.

Debian

Sistemul APT este foarte robust şi probleme pot apărea doar dacă sunt s-a defectat sistemul de fişiere. O instalare întreruptă se poate continua cu

aptitude install

APT menţine în /var/cache/apt/archives o copie a tuturor pachetelor descărcate. Dacă duceţi lipsă de spaţiu puteţi folosi acţiunea autoclean pentru a şterge pachetele care nu mai sunt dispibile în nici o sursă sau clean pentru a şterge toate pachetele.

Gentoo

revdep-rebuild [-p]

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 se rezumă doar la afişearea listei. Deoarece verifică fiecare binar în parte, poate dura destul de mult o astfel de inspectare a sistemului.

Alte utilitare pentru restabilirea integrităţii sistemului, în cazul actualizării pachetului python, respectiv perl:

python-updater
perl-cleaner

Configurarea reţelei

Setarea "ad-hoc" a parametrilor

Probabil comună oricarei distribuţii Linux (old way):

ifconfig eth0 192.168.0.1 netmask 255.255.255.0
route add default gw 192.168.0.254
echo "nameserver 80.23.32.1" >> /etc/resolv.conf

Unde:

  • - eth0 este numele interfeţei de reţea
  • - 192.168.0.1 este IP-ul maşinii pe care o configurăm
  • - 192.168.0.254 este default gateway-ul
  • - 80.23.32.1 este serverul de nume

O metodă mai nouă este folosirea comenzii ip din pachetul iproute2. Cu această comandă se pot gestiona mai bine adresele IP, deoarece permite adaugarea/ştergerea de adrese IP pe/de pe o interfaţă fără a mai folosi alias-uri (eth0:alias).

De exemplu:

ip address add 192.168.15.1/24 dev eth0
ip address del 192.168.15.1/24 dev eth0
ip route add default via 192.168.15.254

În plus, ip mai permite managementul tabelei ARP ('ip neighbor'), managementul tunelelor IP-IP sau GRE ('ip tunnel'), managementul de "rules" pentru folosirea de tabele de routing multiple ('ip rule'), etc. Mai multe informaţii despre ip aici:, sau Google.

Atenţie, exemplele sunt arbitrare.

Configurarea persistentă

Debian

Pentru configurare reţelei se foloseşte fişierul /etc/network/interfaces cu o sintaxa de felul următor:

auto eth0
iface eth0 inet static
   address 192.168.0.1
   netmask 255.255.255.0
   gateway 192.168.0.254

Pentru mai multe detalii vedeţi pagina de manual interfaces(5). Nameservere se pot introduce în /etc/resolv.conf dar se poate instala şi pachetul resolvconf care va gestiona fişierul respectiv. Pentru activarea sau dezactivarea unei interfeţe se folosesc ifup respectiv ifdown.

Gentoo

Fişierul de configurare pentru reţea este /etc/conf.d/net Sintaxa este următoarea:

config_eth0=( "192.168.0.1 netmask 255.255.255.0" )
routes_eth0=( "default via 192.168.0.254" )

Nameserver-ele se introduc în /etc/resolv.conf

Dacă în sistem există o placă de reţea şi nu doriţi să o folosiţi, introduceţi

config_eth1=( "null" )

În caz contrar există riscul să i se aloce un IP prin DHCP.

Exemplu pentru o placă wireless (chipset ATHEROS), cu wpa_supplicant:

modules=( "wpa_supplicant" )
wpa_supplicant_ath0="-Dmadwifi"
iwconfig_ath0="mode managed freq 2.412G rate auto rts 250 frag 512 txpower 18"
config_ath0=( "192.168.0.1 netmask 255.255.255.0" )
routes_ath0=( "default via 192.168.0.254" )

Crearea unui bridge (util pentru utilizarea cu un virtualbox):

config_eth0=( "null" )

tuntap_tap0="tap"
config_tap0=( "null" )
tunctl_tap0="-u serghei"

bridge_br0="eth0 tap0"
config_br0=( "10.0.2.2/24" )
RC_NEED_br0="net.eth0 net.tap0"
brctl_br0=( "setfd 0" "sethello 0" "stp off" )
routes_br0=( "default gw 192.168.0.254" )

În Gentoo interfeţele de reţea sunt "ridicate" ca nişte servicii. De exemplu pentru eth0 trebuie creat un symlink la /etc/init.d/net.lo, după care trebuie adăugat net.eth0 în lista de servicii pornite la boot.

ln -s net.lo /etc/init.d/net.eth0
rc-update add net.eth0 default

Dacă aţi modificat parametri unei interfeţe de reţea (în /etc/conf.d/net), o reîncărcaţi executând:

/etc/init.d/net.eth0 restart

RedHat

Mare parte din fişierele de configurare pentru reţea se găsesc în /etc/sysconfig/network-scripts. Setările plăcilor de reţea sunt în /etc/sysconfig/network-scripts/ifcfg-ethN. Sintaxa este intuitivă:

IPADDR=192.168.0.1
NETMASK=255.255.255.0
HWADDR=00:11:22:33:44:55

Atenţie, trebuie specificate corect adresele de Network si Broadcast (vezi Subnetting [3]). Parametrul HWADDR specifică MAC-ul plăcii de reţea respective, pentru cazul în care există în sistem mai multe plăci de reţea ce folosesc acelaşi driver. Atenţie şi aici, identificarea plăcilor pe baza HWADDR nu functionează prea bine. Pentru mai multe info, Google.

După modificarea acestor fişiere, se reporneşte tot subsistemul de reţea cu comanda service network restart sau /etc/init.d/network restart (cele două variante sunt echivalente).

Hint: de obicei, gateway-ul este păstrat în /etc/sysconfig/network dar poate fi specificat şi în /etc/sysconfig/network-scripts/ifcfg-ethN.

Hint: în /etc/sysconfig/network-scripts/ifcfg-ethN se pot specifica numeroase alte opţiuni, recomandăm citirea documentaţiei

Setările firewall-ului sunt păstrate în /etc/sysconfig/iptables. Nu se recomandă editarea manuală a acestui fişier ci utilizarea comenzilor iptables-save (sau service iptables save ori /etc/init.d/iptables save ) pentru a salva starea curenta a firewall-ului şi respectiv iptables-restore (sinonime fiind service iptables start si /etc/init.d/iptables start) pentru pornirea firewall-ului (citind configuratia de pe disc); se recomandă construirea manuală a firewall-ului cu comenzi iptables, apoi salvarea regulilor cu comanda service iptables save. Oprirea firewall-ului se poate face cu

  • service iptables stop (sinonim: /etc/init.d/iptables stop) pentru opriri normale ( toate regulile şi chain-urile utilizator sint şterse, modulele specifice iptables sînt eliminate din memorie, policy-ul devine ACCEPT pentru toate chain-urile implicite) sau cu
  • service iptables panic (sinonim: /etc/init.d/iptables panic) pentru cazul în care doriţi o revenire de urgenţă la o stare sigura: toate policy-urile devin REJECT, comunicaţia prin reţea a sistemului cu restul lumii fiind total întreruptă.

Pentru afisarea stării curente exista service iptables status (sinonim: '/etc/init.d/iptables status). Parametri suplimentari pentru iptables se pot specifica în /etc/sysconfig/iptables-config

Slackware / Bluewhite64

netconfig este un script interactiv care detecteaza si configureaza interfetele de retea. Rulati-l si urmati pasii de acolo daca aveti nevoie de o configuratie minima. Atentie, va suprascrie fisierele /etc/rc.d/rc.inet1.conf si /etc/resolv.conf. Daca netconfig nu da rezultate sau daca nu va multumeste, veti fi nevoiti sa editati fisierele de configurare.

Modulele le gasiti in /etc/rc.d/rc.modules. Slackware va uita in acest fisier si va incarca pe kernel orice va gasi acolo. Trebuie doar sa inlaturati comentariul pentru dispozitivul respectiv.

Fisierele de configurare pentru retea sunt /etc/rc.d/rc.inet1 si /etc/rc.d/rc.inet2. Primul configureaza parametrii retelei citind /etc/rc.d/rc.inet1.conf, al doilea porneste diverse servicii (inetd, NFS, bind, ssh, etc). Daca folositi mai mult de 6 interfete modificati MAXNICS in /etc/rc.d/rc.inet1.

Iata un exemplu de configurare pentru rc.inet1.conf:

# Config information for eth0:
IPADDR[0]="10.75.16.251"
NETMASK[0]="255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""
# Config information for eth1:
IPADDR[1]=""
NETMASK[1]=""
USE_DHCP[1]="yes"
DHCP_HOSTNAME[1]=""
# Config information for test interface:
IFNAME[8]="eth0:test"
IPADDR[8]="10.75.17.251"
NETMASK[8]="255.255.255.0"
USE_DHCP[8]=""
DHCP_HOSTNAME[8]=""
# Default gateway IP address:
GATEWAY="10.75.16.254"

Daca USE_DHCP[interface] este "yes", celelalte setari sunt ignorate. Daca nu doriti sa setati o interfata, lasati campul "" gol.

Intreaga configuratie de retea se controleaza ruland /etc/rc.d/rc.inet1 cu argumentul start|stop|restart, daca aveti nevoie sa reporniti doar o interfata dati scriptului argumentul corespunzator interfetei (exemplu /etc/rc.d/rc.inet1 eth1_restart).

Daca folositi masina Slackware ca router, asigurati-va ca /etc/rc.d/rc.ip_forward are permisiuni de executie:

chmod 755 /etc/rc.d/rc.ip_forward

Daca vreti sa ridicati rute mai speciale, puteti sa le adaugati la sfarsitul fisierului rc.inet1:

echo '/sbin/route add -net 10.75.19.0 netmask 255.255.255.0 dev eth1' >> /etc/rc.d/rc.inet1

Firewall-ul este pornit de rc.inet2 ruland /etc/rc.d/rc.firewall. Acest fisier nu exista in mod implicit, trebuie sa-l faceti si sa-i dati permisiuni la executie:

if [[ -f /etc/iptables.conf && -x /usr/sbin/iptables-restore ]]; then 
   /usr/sbin/iptables-restore < /etc/iptables.conf; fi

Ca si la celelalte distributii, serverele de nume se configureaza in /etc/resolv.conf.

Scripturile de startup

Debian

Specific pentru Debian este că implicit nivelele 2 - 5 sunt configurate identic. Modificări se pot face cu update-rc.d sau diverse alte utilitare pentru editarea systemelor de tip System-V

Slackware / Bluewhite64

Slackware foloseste scripturi de initializare de tip BSD. Asemenea altor distributii, acestea sunt apelate de init in functie de runlevel si pot fi gasite pe calea /etc/rc.d/ dupa cum urmeaza:

rc.S - script pentru initializarea sistemului. Monteaza sistemele de fisiere, incarca modulele si parametrii kernelului, activeaza partitia swap, configureaza porturile seriale si USB, etc

rc.K - mod single user. Opreste toate serviciile si pune sistemul in mod administrativ. Sistemele de fisiere raman montate iar configurarea retelei ramane neschimbata

rc.M - mod multi user. Este apelat de init pentru oricare din nivelele 2, 3, 4, 5. Configureaza numele sistemului, porneste syslogd, hotplug, cups, udev, crond, quota, etc. Apeleaza la randul lui inet1 si inet2 (parametrii si servicii de retea) si in ultimul rand, celebrul si omnipotentul rc.local

rc.4 - mod grafic. Porneste KDM, GDM sau XDM

rc.6 - reboot. Este apelat de oricare din comenzile halt sau reboot. Opreste toate serviciile si procesele si demonteaza sistemele de fisiere

rc.0 - halt. Ca la reboot. Este symlink la rc.6

Pornirea/oprirea manuală a unui serviciu

Debian

/etc/init.d/postfix start
/etc/init.d/postfix stop

sau

invoke-rc.d postfix start
invoke-rc.d postfix stop

invoke-rc.d va ţine cont de anumite politici locale (ex. anumite servicii nu trebuie pornite într-un chroot)

Gentoo

/etc/init.d/postfix start
/etc/init.d/postfix stop

RedHat

service postfix start
service postfix stop

Slackware / Bluewhite64

/etc/rc.d/postfix start
/etc/rc.d/postfix stop

Adăugarea/eliminarea unui serviciu în/din autostart

Debian

update-rc.d postfix defaults
update-rc.d postfix remove

sau

update-rc.d postfix stop 20 3 4 . start 20 5

pentru oprire în nivelele 3 şi 4 şi pornire în 5.

Gentoo

rc-update add postfix default
rc-update del postfix

Daemonii care nu au script de service se pot porni/opri la boot/shutdown adaugându-i în "/etc/conf.d/local.start" şi/sau "/etc/conf.d/local.stop".

RedHat

chkconfig --level 35 postfix on
chkconfig --level 35 postfix off

Observaţie: "35" înseamnă runlevel-urile 3 şi 5. Vezi [4].

Alternativ, se poate folosi utilitarul ncurses numit ntsysv care permite configurarea tuturor serviciilor din runlevel-ul curent. Iar pentru cei care preferă GUI, există system-config-services care pe lîngă toate funcţiile lui chkconfig oferă şi detalii despre serviciile respective şi permite gestionarea separată a celor care au daemon propriu de cele lansate via xinetd.

Există în continuare şi metoda (complet nerecomandată) a editării manuale a symlinkurilor din /etc/rcN.d. A se folosi numai şi numai în cazul în care nici una dintre metodele standard mai sus descrise nu este disponibilă. Dacă nu ştiţi despre ce e vorba, uitaţi că aţi citit acest paragraf.

openSUSE 10+

chkconfig -s postfix
chkconfig -s postfix 35
chkconfig -d postfix

sau

insserv -d postfix
insserv -r postfix

Dacă nu se specifică runlevel-ul, se va utiliza runlevels "Default-Start" din scriptul respectiv.

Slackware / Bluewhite64

Pentru a adauga un serviciu in autostart asigurati-va ca scriptul de initializare are permisiuni de executie:

chmod +x /etc/rc.d/rc.postfix

Adaugati in /etc/rc.d/rc.M:

if [ -x /etc/rc.d/rc.postfix ]; then
 . /etc/rc.d/rc.postfix start
fi

Apoi in /etc/rc.d/rc.6:

if [ -x /etc/rc.d/rc.postfix ]; then
 . /etc/rc.d/rc.postfix stop
fi

Note:

  • 1) Daca instalarea a fost facuta compiland codul sursa, va trebui sa creati un script de initializare de la zero.
  • 2) Daca ati un instalat pachet .tgz, veti gasi scriptul in /etc/rc.d dar tot va trebui sa editati fisierul rc.M.
  • 3) Cand editati rc.M aveti grija la ordinea in care sunt pornite serviciile atunci cand acestea depind unele de altele. Logic este sa porniti mai intai clamd, mysqld apoi postfix. Este bine ca fisierul rc.local sa fie rulat ultimul si este elegant sa nu aveti nimic in el.
  • 4) Puneti serviciul in background cu ampersand (&) daca acesta nu are optiuni pentru a rula in daemon mode. De exemplu spamd fara optiunea -d va bloca procesul de initializare si nu veti mai ajunge in /bin/login.

Incepand cu versiunea 7.0, Slackware asigura compatibilitate cu sistemul SystemV cu ajutorul scriptului /etc/rc.d/rc.sysvinit. Cei care prefera aventuri "non-distro way" pot incerca:

mkdir -p /etc/init.d/ && mkdir -p /etc/rc.d/rc3.d/ && mkdir -p /etc/rc.d/rc6.d/
ln -s /etc/rc.d/rc.postfix /etc/init.d/postfix
ln -s /etc/rc.d/rc.postfix /etc/rc.d/rc3.d/S11postfix 
ln -s /etc/rc.d/rc.postfix /etc/rc.d/rc6.d/K11postfix

Nota: Nu folositi in acelasi timp rc.M si rc.sysvinit.

Pentru a elimina un serviciu din autostart este suficient sa inlaturati drepturile de executie pentru scriptul respectiv:

chmod -x /etc/rc.d/rc.postfix

Configurarea modulelor

Încărcare automată

Debian

Pentru încărcarea automată a unui modul la fiecare pornire trebuie doar listat în /etc/modules

Gentoo

Fisierul in care sunt anuntate modulele care trebuie incarcate automat la boot este /etc/conf.d/modules. Se pot defini liste de module pentru mai multe versiuni de kernel.

modules_2_6_23_gentoo_r5="ieee1394 ohci1394"
modules_2_6_23="tun ieee1394"
modules_2_6="tun"
modules="ohci1394"

Slackware / Bluewhite64

Modulul trebuie sa existe in /etc/rc.d/rc.modules sau in /etc/rc.d/rc.netdevice pentru dipsozitivele de retea configurate cu netconfig.

Opţiuni

Debian

Pentru a specifica opţiuni pentru un modul (indiferent că se încarcă manual sau automat) creaţi un fişier (ex. 00local) în /etc/modprobe.d/ cu conţinut de genul:

options kqemu major 0

Slackware / Bluewhite64

Optiunile pentru un modul se pun in /etc/modprobe.conf. Aceasta metoda este invechita dar pastrata inca pentru compatibilitate. Procedati exact ca la Debian daca versiunea Slackware este 12.0 sau mai mare.

Prevenirea încărcării automate

Debian

Listaţi modulul într-un fişier (ex. 00local) în /etc/modprobe.d/ cu următoarea sintaxă:

blacklist pcspkr

Slackware / Bluewhite64

Adaugati o linie in fisierul /etc/modprobe.d/blacklist cu urmatoarea sintaxa:

blacklist pcspkr


Limba română

Pașii necesari pentru a configura un sistem Linux care nu a fost instalat în limba română. În general toate distribuțiile vor configura corect sistemul dacă alegeți limba română la instalare.

Locala

Dacă nu aveți motive bine întemeiate folosiți numai locala ro_RO.UTF-8, dar orice locală UTF-8 ar trebui să afișeze limba română corect. Aceasta ar trebui să activeze și traducerile programelor. Dacă NU doriți ca programele să fie traduse configurați $LANGUAGE.

Debian

Cu comanda

dpkg-reconfigure locales

puteți genera și configura locala implicită. Dacă folosiți pachetul localepurge aveți grijă să-l configurați să păstreze toate localele românești altfel s-ar putea să șteargă traduceri necesare.

Anumite programe au pachete separate pentru traduceri. Aceste pachete au în general nume de forma pachet-l10n-romanian (ex. iceweasel-l10n-romanian).

$LANGUAGE se poate configura în ~/.bashrc:

export LANGUAGE=english

Aranjamentul de tastatură

Dacă nu sunteți posesorul unei tastaturi românești (destul de rare) este foarte util aranjamentul „Programmers”. Acesta este la bază un aranjament „us” dar poate genera caracterele speciale folosind combinații de taste cu AltGr (Alt-dreapta) și litera de bază. Deci AltGr+i va genera î. â se generează cu AltGr+q.

Debian

Pentru aranjamentul în consolă folosiți:

dpkg-reconfigure console-setup

iar pentru X:

dpkg-reconfigure xserver-xorg

și alegeți aranjamentul „ro” sau „ro” varianta „comma” pentru etch.

(Notă: Începând cu versiunea 6.0 (squeeze) Xorg va prelua configurația de la console-setup)

Aranjamentul pentru X poate fi modificat oricând și cu utilitarele respective din KDE, Gnome, Xfce, ...

Fonturi

Nu toate fonturile conțin caracterele speciale pentru limba română. Sunt necesare alte fonturi decât cele implicite?

Debian

Fontul implicit din Debian este DejaVu care conține toate caracterele necesare. msttcorefonts NU conține caracterele românești, dar puteți folosi în schimb familia Liberation. Pentru consolă puteți alege între fontul clasic (VGA) și Terminus (este instalat ca dependență a pachetului console-setup și configurat în loc de VGA). Terminus are și o varianta pentru X în pachetul xfonts-terminus, foarte utilă pentru emulatoare de terminal.