joi, 5 iunie 2008

Instalarea Programelor Pornind De La Codul Sursă Partea I

Instalarea programelor pornind de la codul sursă

Instalarea Programelor Ajutătoare

Deși cele mai multe programe pe care un utilizator obișnuit le dorește se găsesc în arhivele software ale versiunii Ubuntu folosite, există cazuri când dorim să instalăm programe care nu se găsesc în aceste arhive sau versiuni mai noi sau în dezvoltare ale programelor din arhive.

Voi încerca să arăt o metodă relativ simplă de compilare și instalare a programelor pornind de la codul sursă. Evident mă voi adresa începătorilor, pentru că utilizatorii avansați și-au creat deja o metodă proprie de lucru. Nu este singura cale de abordare a acestei probleme, este doar un alt mod de lucru.

De regulă utilizatorii noi de Linux și de Ubuntu în special nu au mai lucrat cu un terminal și sunt obișnuiți mai mult cu modul grafic de lucru specific platformelor Windows©. Voi încerca să folosesc acest lucru cât mai mult pentru ca tranziția să se facă mult mai ușor.

Pentru a putea compila codul sursă trebuie să instalăm mai multe programe ajutătoare.

Din fericire cele mai importante pachete sunt grupate în așa numitele meta-pachete pentru o instalare mai comodă. Sunt foarte utile următoarele articole:

https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/

https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/gs-tools.html


Dacă dorim doar compilarea și instalarea unor programe pe care nu le-am construit personal atunci este suficient să instalăm doar pachetele build-essential și codul sursă al kernelului folosit (linux-headers-' uname -r '), dar acesta din urmă este, de regulă, instalat implicit.

Pachetele pe care trebuie să le instalăm pentru a compila programe sunt (la modul foarte general):

  1. build-essential

    Acesta este un meta pachet care conține mai multe pachete utilitare precum libc6-dev, gcc, g++, make, dpkg-dev și altele.

  2. devscripts

    Acesta este un meta-pachet folosit pentru ușurarea muncii de întreținere a pachetelor. Dintre cele mai importante pachete pe care le conține se pot enumera: debdiff, dch, debuild, sau debsign.

  3. debhelper

  4. dh-make

    Pachetele debhelper și dh-make conțin scripturi folosite pentru automatizarea procesului de „debianizare” și conțin și exemple.

  5. diff

  6. patch

    Pachetele diff și patch sunt folosite pentru a crea respectiv pentru a aplica „patch”-uri.

  7. gnupg

    Acesta este un înlocuitor pentru PGP și este folosit pentru semnarea cifrată (criptată) a pachetelor.

  8. fakeroot

    Acest program simulează rularea unei comenzi cu privilegii administrative (de root). Acest program este util când dorim să creăm pachete ca utilizator obișnuit. Este un pachet foarte util, pe care îl vom folosi în exemplul nostru.

  9. lintian

  10. linda

  11. pbuilder


Ultimele pachete nu ne interesează, iar de pbuilder chiar nu avem nevoie. Acesta din urmă este util doar celor care doresc să creeze pachete pentru a putea fi distribuite pe scară largă pentru mai multe versiuni Ubuntu și/sau mai multe arhitecturi de calculatoare.

În exemplul nostru vom folosi doar build-essential și fakeroot din această listă plus pachetul checkinstall. Lista prezentată mai sus este utilă pentru cei care doresc să creeze pachete pentru a fi distribuite. Noi vom compila și vom crea un pachet (sau mai multe) pentru uzul personal și nu avem nevoie de toate aceste pachete prezentate.

Instalarea acestor pachete se face foarte simplu în mod grafic utilizând un administrator de pachete precum Synaptic sau Adept (funcție de mediul grafic desktop folosit).

IMORTANT: Uneori mai este nevoie să instalăm și unele pachete suplimentare. Aflăm acest lucru din codul sursă al programului pe care dorim să-l compilăm. Odată cu codul sursă al programului de compilat ni se furnizează mai multe fișiere ajutătoare in care se specifică de ce anume avem nevoie pentru a putea compila cu succes codul. Găsim aceste informații în fișiere intitulate generic Readme și/sau Install.

REZUMAT: Pentru a compila un program pornind de la codul său sursă trebuie să instalăm mai întâi următoarele pachete: build-essential, fakeroot, checkinstall, și partea de cod sursă a kernelului folosit care conține așa numitele „headers” ( linux-headers- ' uname -r ' ).

Vom mai folosi incă două pachete care nu au legătură directă cu procesarea codului sursă dar care sunt foarte utile când este vorba de navigarea prin directoare, fie din terminal fie din managerul de fișiere. Aceste pachete sunt: nautilus-gksu și nautilus-open-terminal. Cu ajutorul primului pachet deschidem un obiect (fișier sau director) cu drepturi administrative (de root). Cu ajutorul celui de al doilea pachet putem deschide un terminal în mod grafic, din managerul de fișiere, exact acolo unde dorim fără a mai fi nevoiți să rulăm comanda „ cd ” în terminal.

Dacă folosim mediul desktop Gnome atunci pentru instalarea pachetelor necesare vom folosi administratorul de pachete Synaptic. Dacă folosim mediul desktop KDE atunci folosim administratorul de pachete Adept (de menționat că nu mai trebuie instalate pachetele nautilus-gksu și nautilus-open-terminal pentru că managerul de fișiere al acestui mediu este Dolphin și acesta are deja aceste opțiuni implementate).

Acesta a fost pasul cel mai important pentru a putea compila programe. Evident acesta nu trebuie făcut decât o singură dată, programele instalate putând fi folosite pentru compilarea oricăror pachete dorite.

În părțile următoare vom intra în posesia codului sursă al unui program, îl vom compila, vom crea un pachet executabil, îl vom instala în sistem, îl vom rula și apoi îl vom dezinstala.


Continuarea în:

Instalarea Programelor Pornind De La Codul Sursă Partea a II-a

Niciun comentariu:

Trimiteți un comentariu