Pastaba :
Šis dokumentas negalioja ir nebėra daugiau palaikomas.
|
[ << ]
[ < ]
[ Pagrindinis ]
[ > ]
[ >> ]
3. „Portage“ funkcijos
Turinys:
3.a. „Portage“ funkcijos
„Portage“ turi keletą papildomų funkcijų, kurios gali palengvinti jūsų darbą su
ja. Daugeliui šių funkcijų reikalinga tam tikra papildoma programinė įranga,
kuri gali pagerinti sistemos saugumą, darbą, patikimumą ir t.t.
Naudojamos „Portage“ funkcijos yra nurodomos rinkmenos
/etc/make.conf kintamuoju FEATURES, kuriam priskiriami
įvairių funkcijų raktiniai žodžiai, atskirti tarpais. Keletu atveju taip pat
reikia įdiegti papildomą programinę įrangą, kuri yra reikalinga konkrečiai
funkcijai.
Čia yra išvardintos ne visos „Portage“ funkcijos. Norėdami pamatyti pilną jų
apžvalgą, pasinaudokite make.conf žinyno puslapiu:
Kodo sąrašas 1.1: make.conf žinyno puslapis |
$ man make.conf
|
Koks šiuo metu yra FEATURES kintamasis galite sužinoti įvykdę komandą emerge
--info ir (patys arba komandos „grep“ pagalba) susiradę kintamąjį FEATURES:
Kodo sąrašas 1.2: Kintamojo FEATURES reikšmės sužinojimas |
$ emerge --info | grep FEATURES
|
3.b. Paskirstytas kompiliavimas
distcc naudojimas
distcc yra programa, naudojama tinkle paskirstyti kompiliavimą keletui
nebūtinai identiškų kompiuterių. distcc klientas siunčia visą reikalingą
informaciją keletui pasiekiamų distcc serverių (vykdančių distccd)
kad jie klientui kompiliuotų dalis išeities teksto. To rezultatas yra mažesnis
kompiliavimo laikas.
Daugiau informacijos apie distcc (ir kaip naudotis juo „Gentoo“) galite
surasti mūsų „Gentoo“ distcc
dokumentacijoje.
distcc įdiegimas
Distcc turi grafinį monitorių, kuriuo galima stebėti, ką jūsų kompiuteris
išsiunčia kompiliuoti. Jeigu jūs naudojate Gnome, įtraukite „gnome“ į savo
USE kintamąjį. Jeigu jūs nenaudojate Gnome, bet vis tiek norite naudotis
grafiniu monitoriumi, įtraukite „gtk“ į savo USE kintamąjį.
Kodo sąrašas 2.1: distcc įdiegimas |
# emerge distcc
|
„Portage“ palaikymo aktyvavimas
Įtraukite distcc į FEATURES kintamąjį rinkmenoje
/etc/make.conf. Toliau, pakeiskite MAKEOPTS kintamajį į jūsų
norimą. Paplitęs patarimas yra naudoti reikšmę "-jX", kurh X yra skaičius
procesorių, vykdančių distccd (įskaitant ir šį kompiuterį) plius vienas,
bet jūs galite gauti geresnius rezultatus ir su kitokiais skaičiais.
Dabar įvykdykite distcc-config ir įveskite distcc serverių sąrašą.
Pavyzdžiui, tarkime, kad prieinami DistCC serveriai yra 192.168.1.102 (šis
kompiuteris), 192.168.1.103 ir 192.168.1.104 (du „nutolę“ kompiuteriai):
Kodo sąrašas 2.2: distcc konfigūravimas naudoti tris distcc serverius |
# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"
|
Taip pat nepamirškite paleisti distccd tarnybą:
Kodo sąrašas 2.3: distccd tarnybos paleidimas |
# rc-update add distccd default
# /etc/init.d/distccd start
|
3.c. Kompiliacijos padėjimas į podėlį
Apie ccache
ccache yra greitas kompiliatoriaus podėlis. Kai jūs kompiliuojate
programą, į podėlį bus padedami tarpiniai rezultatai, ir kai jūs
perkompiliuosite tą pačią programą, kompiliavimo laikas bus mažesnis. Dažniems
kompiliavimams kompiliavimo laikas gali sumažėti 5 - 10 kartų.
Jeigu jums įdomūs ccache privalumai ir trūkumai, aplankykite ccache tinklalapį.
ccache įdiegimas
Kad įdiegtumėtę ccache, įvykdykite komandą emerge ccache:
Kodo sąrašas 3.1: ccache įdiegimas |
# emerge ccache
|
„Portage“ palaikymo aktyvavimas
Atverkite rinkmeną /etc/make.conf ir įtraukite ccache į
FEATURES kintamąjį. Toliau, pridėkite naują kintanąjį CCACHE_SIZE ir
nustatykite jį lygų "2G":
Kodo sąrašas 3.2: Redaguojame CCACHE_SIZE rinkmenoje /etc/make.conf |
CCACHE_SIZE="2G"
|
Kad patikrintumėtę ar ccache veikia, liepkite ccache pateikti jums savo
statistiką. Kadangi „Portage“ naudoja kitą ccache namų katalogą, jums taip pat
reikia nustatyti kintamąjį CCACHE_DIR:
Kodo sąrašas 3.3: ccache statistika |
# CCACHE_DIR="/var/tmp/ccache" ccache -s
|
/var/tmp/ccache yra pagal nutylėjimą „Portage“ naudojamas ccache
namų katalogas; jeigu jūs norite pakeisti šį nustatymą, jums reikia nustatyti
kintamajį CCACHE_DIR rinkmenoje /etc/make.conf.
Tačiau jeigu jūs patys įvykdysite komandą ccache, bus naudojamas
namų katalogas pagal nutylėjimą - ${HOME}/.ccache, todėl jums
reikia nurodyti CCACHE_DIR kintamąjį prieš peržiūrint („Portage“) ccache
statistiką.
ccache naudojimas ne „Portage“ C kompiliavimui
Jeigu jūs norite naudoti ccache ne „Portage“ kompiliavimams, pridėtikte
/usr/lib/ccache/bin į jūsų PATH kintamojo pradžią (prieš
/usr/bin). Tai įvykdyti galima pakeičiant rinkmeną
.bash_profile jūsų naudotojo namų kataloge.
.bash_profile naudojimas yra vienas būdas apibrėžti PATH
kintamuosius.
Kodo sąrašas 3.4: Pakeičiame .bash_profile |
PATH="/usr/lib/ccache/bin:/opt/bin:${PATH}"
|
3.d. Dvejetainių paketų palaikymas
Iš anksto sukompiliuotų paketų kūrimas
„Portage“ palaiko iš anksto sukompiliuotų paketų įdiegimą. Nors pats „Gentoo“
ir netiekia iš anksto sukompiliuotų paketų (išskyrus GRP snapshots) „Portage“
gali pilnai jais naudotis.
Iš anksto sukompiliuotam paketui sukurti galite naudoti quickpkg, jeigu
paketas jau yra įdiegtas jūsų sistemoje, arba įvykdykite komandą emerge
su --buildpkg ar --buildpkgonly parametru.
Jeigu norite, kad Portage sukurtų iš anksto sukompiliuotą paketą kiekvieną
kartą jums ką nors įdiegiant, įrašykite buildpkg į FEATURES kintamąjį.
Platesnis iš anksto sukompiliuotų paketų kūrimo palaikymas gali būti pasiektas
su catalyst. Norėdami daugiau sužinoti apie catalyst, paskaitykite Catalyst dažniausiai užduodamus
klausimus.
Iš anksto sukompiliuotų paketų įdiegimas
Nors pats „Gentoo“ ir nepateikia centrinės iš anksto sukompiliuotų paketų
saugyklos, jūs galite ją susikurti. Jeigu norite ja naudotis, praneškite apie
tai „Portage“, kintamuoju PORTAGE_BINHOST nurodydami šią saugyklą. Pavyzdžiui,
jeigu iš anksto sukompiliuotų paketų saugykla yra ftp://buildhost/gentoo:
Kodo sąrašas 4.1: Nustatome PORTAGE_BINHOST rinkmenoje /etc/make.conf |
PORTAGE_BINHOST="ftp://buildhost/gentoo"
|
Kai jūs norite įdiegti iš anksto sukompiliuotą paketą, pridėkite parametrą
--getbinpkg emerge komandai kartu su parametru --usepkg. Pirmasis
nurodo emerge parsiųsti iš anksto sukompiliuotą paketą iš anksčiau apibrėžto
serverio, o antrasis prašo emerge pabandyti įdiegtį iš anksto sukompiliuotą
paketą prieš parsiunčiant išeities tekstus ir juos kompiliuojant.
Pavyzdžiui, gnumeric įdiegimas iš iš anksto sukompiliuotų paketų:
Kodo sąrašas 4.2: gnumeric iš anksto sukompiliuotų paketų įdiegimas |
# emerge --usepkg --getbinpkg gnumeric
|
Daugiau informacijos apie emerge iš anksto sukompiliuotų paketų parinktis
galima rasti emerge žinyno puslapyje:
Kodo sąrašas 4.3: emerge žinyno puslapis |
$ man emerge
|
3.e. Rinkmenų gavimas
Lygiagretus gavimas
Kai jūs diegiate eilę paketų, „Portage“ gali gauti pirminius tekstus kitai
programai sąraše netgi kol ji kompiliuoja visai kitą paketą, taip sumažinant
kompiliavimų laikus. Norėdami naudoti šį sugebėjimą, pridėkite „parallel-fetch“
į savo FEATURES.
Userfetch
Kai „Portage“ vykdoma pagrindinio (root) naudotojo teisėmis,
FEATURES="userfetch" leis „Portage“ sumažinti teises gaunant paketų pirminius
tekstus. Tai yra nedidelis saugumo pagerinimas.
[ << ]
[ < ]
[ Pagrindinis ]
[ > ]
[ >> ]
Šio dokumento turinys yra licencijuotas „Creative Commons -
Attribution / Share Alike“ licencija.
|