Gentoo Logo

[ << ] [ < ] [ Acasă ] [ > ] [ >> ]


3. Particularităţile Portage

Conţinut:

3.a. Caracteristici Portage

Portage are unele caracteristici în plus ce transformă experienţa dvs. Gentoo într-una şi mai bună. Multe din aceste caracteristici se bazează pe anumite utilitare ce ajută la îmbunătăţirea performanţei, stabilitatea, securitatea, ...

Pentru a dezactiva anumite caracteristici ale Portage, trebuie să editaţi variabila FEATURES din /etc/make.conf, ce conţine unele cuvinte cheie cu caracteristici separate de spaţii goale. În unele cazuri, va trebui, de asemenea, să instalaţi utilitarul adiţional pe care se bazează respectiva caracteristică.

Nu toate caracteristicile Portage suportate sunt explicate aici. Pentru informaţii mai detaliate, vă rugăm să consultaţi pagina de manual make.conf:

Cod 1.1: Consultarea paginii de manual make.conf

$ man make.conf

Pentru a afla ce caracteristici sunt setate implicit prin intermediul FEATURES, rulaţi emerge --info şi căutaţi definiţia variabilei FEATURES sau utilizaţi grep:

Cod 1.2: Afişarea caracteristicilor deja setate în FEATURES

$ emerge --info | grep FEATURES

3.b. Compilarea Distribuită

Utilizarea distcc

distcc este un program pentru distribuirea compilărilor peste mai multe, nu neapărat identice, maşini din reţea. Clientul distcc trimite toată informaţia necesară serverelor distcc disponibile (ce rulează distccd) pentru a compila bucăţi din codul sursă pentru client. Rezultatul net este un timp de compilare mai rapid.

Puteţi afla mai multe informaţii despre distcc (şi cum să îl utilizaţi cu Gentoo) în Documentaţia Gentoo pentru Distcc.

Instalarea distcc

Distcc conţine o aplicaţie grafică pentru monitorizarea sarcinilor trimise de sistemul dvs. în vederea compilării. Dacă utilizaţi Gnome, atunci adăugaţi 'gnome' în variabila dvs. USE. Totuşi, dacă nu utilizaţi Gnome şi doriţi în continuare să rulaţi aplicaţia de monitorizare, adăugaţi 'gtk' variabilei dvs. USE.

Cod 2.1: Instalarea distcc

# emerge distcc

Activarea Suportului în Portage

Adăugaţi distcc variabilei FEATURES din /etc/make.conf. Apoi, editaţi variabila MAKEOPTS după preferinţe. O soluţie bună este să completaţi "-jX", unde X este numărul de procesoare ce rulează distccd (incluzând maşina curentă) plus unu, dar este posibil să obţineţi rezultate mai bune cu alte numere.

Acum, rulaţi distcc-config şi introduceţi lista de servere distcc disponibile. Pentru un exemplu simplu, vom presupune că serverele DistCC sunt 192.168.1.102 (maşina curentă), 192.168.1.103 şi 192.168.1.104 (două maşini "la distanţă"):

Cod 2.2: Configurarea distcc pentru utilizarea a trei servere distcc

# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"

Nu uitaţi să rulaţi aplicaţia daemon distccd, de asemenea:

Cod 2.3: Pornirea aplicaţiilor daemon distccd

# rc-update add distccd default
# /etc/init.d/distccd start

3.c. Utilizarea unui Cache pentru Compilare

Despre ccache

ccache este o aplicaţie de cache pentru compilare. Când compilaţi un program, acesta va salva în cache rezultatele intermediare astfel încât, de câte ori recompilaţi acelaşi program, timpul de compilare este redus foarte mult. În cazurile comune de compilare, aceasta poate avea ca rezultat timpi de 5 până la 10 ori mai reduşi.

Dacă sunteţi interesat în detalii despre ccache, vă rugăm să vizitaţi pagina oficială ccache.

Instalarea ccache

Pentru a instala ccache, rulaţi emerge ccache:

Cod 3.1: Instalarea ccache

# emerge ccache

Activarea Suportului în Portage

Deschideţi /etc/make.conf şi adăugaţi ccache în variabila FEATURES. Apoi, adăugaţi o nouă variabilă numită CCACHE_SIZE şi setaţi-o cu valoarea "2G":

Cod 3.2: Editarea CCACHE_SIZE în /etc/make.conf

CCACHE_SIZE="2G"

Pentru a verifica dacă ccache funcţionează, interogaţi ccache în scopul afişării statisticilor proprii. Deoarece Portage utilizează un director diferit, trebuie să setaţi, de asemenea, variabila CCACHE_DIR.

Cod 3.3: Vizualizarea statisticilor ccache

# CCACHE_DIR="/var/tmp/ccache" ccache -s

Locaţia /var/tmp/ccache este locaţia implicită pentru ccache a Portage; dacă doriţi să modificaţi această setare, trebuie să setaţi variabila CCACHE_DIR în /etc/make.conf.

În schimb, dacă aţi dori să rulaţi ccache, acesta ar utiliza locaţia implicită ${HOME}/.ccache, acesta fiind motivul pentru care a trebuit să setaţi variabila CCACHE_DIR când aţi interogat ccache (din Portage) pentru statistici.

Utilizarea ccache pentru Compilarea C în afara Portage

Dacă doriţi să utilizaţi ccache pentru compilări în afara Portage, adăugaţi /usr/lib/ccache/bin la începutul variabilei PATH (înainte de /usr/bin). Aceasta poate fi obţinută prin editarea fişierului /etc/env.d/00basic, ce este primul fişier de mediu ce defineşte variabila PATH.

Cod 3.4: Editarea /etc/env.d/00basic

PATH="/usr/lib/ccache/bin:/opt/bin"

3.d. Suportul pentru Pachete Binare

Crearea Pachetelor Precompilate

Portage suportă instalarea de pachete precompilate. Deşi Gentoo însăşi nu oferă pachete precompilate (cu excepţia versiunilor snapshot de GRP), Portage poate fi configurat pentru a face uz de prezenţa pachetelor precompilate.

Pentru a crea un pachet precompilat, puteţi utiliza quickpkg dacă pachetul este deja instalat în sistemul dvs, sau emerge cu opţiunile --buildpkg sau --buildpkgonly.

Dacă doriţi ca Portage să creeze pachete precompilate pentru fiecare pachet pe care doriţi să-l instalaţi, adăugaţi buildpkg ca valoare pentru variabila FEATURES.

Mai mult suport pentru crearea de pachete precompilate poate fi obţinut cu catalyst. Pentru mai multe informaţii despre catalyst, citiţi Manualul de Referinţă Catalyst şi Întrebări Frecvente despre Catalyst.

Instalarea Pachetelor Precompilate

Deşi Gentoo nu oferă, puteţi crea un repozitoriu central unde să stocaţi pachetele precompilate. Dacă doriţi să utilizaţi acest repozitoriu, trebuie să configuraţi Portage să îl utilizeze prin setarea variabilei PORTAGE_BINHOST cu valoarea indicând spre acesta. Spre exemplu, dacă pachetele precompilate sunt pe ftp://buildhost/gentoo:

Cod 4.1: Setarea PORTAGE_BINHOST în /etc/make.conf

PORTAGE_BINHOST="ftp://buildhost/gentoo"

Când doriţi să instalaţi un pachet precompilat, adăugaţi opţiunea --getbinpkg comenzii emerge împreună cu opţiunea --usepkg. Prima opţiune îi specifică aplicaţiei emerge să descarce pachetul precompilat de pe serverul definit anterior în timp ce a doua opţiune îi specifică să încerce să instaleze pachetul precompilat mai întâi, înainte de a descărca sursele şi a le compila.

Spre exemplu, pentru a instala gnumeric cu pachete precompilate:

Cod 4.2: Instalarea pachetului precompilat gnumeric

# emerge --usepkg --getbinpkg gnumeric

Mai multe informaţii despre opţiunile emerge legate de pachete, pot fi găsite în pagina de manual pentru emerge:

Cod 4.3: Consultarea paginii de manual pentru emerge

$ man emerge

[ << ] [ < ] [ Acasă ] [ > ] [ >> ]


Imprimare

View all

Actualizat la 27 Februarie 2006

Versiunea originală a acestei traduceri nu mai este întreţinută

Sumar: Descoperiţi particularităţile deţinute de Portage, cum ar fi suportul pentru compilarea distribuită, ccache şi altele.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Dezvoltator Gentoo x86

Tavis Ormandy
Dezvoltator Gentoo Alpha

Jason Huebel
Dezvoltator Gentoo x86

Guy Martin
Dezvoltator Gentoo HPPA

Pieter Van den Abeele
Dezvoltator Gentoo PPC

Joe Kallar
Dezvoltator Gentoo SPARC

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Grant Goodyear
Corector

Gerald J. Normandin Jr.
Corector

Donnie Berkholz
Corector

Ken Nowack
Corector

Lars Weiler
Contribuitor

Alin Dobre
Translator Responsabil

Ion Mudreac
Translator

Teddy Drăguţă
Translator

Talos Teodor
Translator

Dragoş Toma
Translator

Muntean Alex
Translator

George Nistorică
Translator

Emil Sîrbu
Translator

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.