[ << ]
[ < ]
[ 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ă ]
[ > ]
[ >> ]
Conţinutul acestui document este publicat sub licenţa Creative Commons -
Attribution / Share Alike.
|