Gentoo Logo

Visszavonások : Ez a dokumentum már nem érvényes, ezért nincs többé karbantartva.


[ << ] [ < ] [ Kezdőlap ] [ > ] [ >> ]


3. A Portage jellemzői

Tartalom:

3.a. Portage szolgáltatások

A Portagenak számos szolgáltatása van amelyek jobbá teszik a Gentooval való munkát. A legtöbb ezek közül bizonyos segédeszközökön alapszik, amelyek növelik a teljesítményt, a megbízhatóságot, a biztonságot, ...

Hogy engedélyezz vagy letilts bizonyos Portage szolgáltatásokat szerkesztened kell a /etc/make.conf fájl FEATURES változóját amely tartalmazza a különböző szolgáltatások neveit, szóközzel elválasztva. Néhány esetben telepítened is kell az eszközöket, amelyekre a szolgáltatás épül.

Az alábbi lista nem tartalmaz minden a Portage által nyújtott szolgáltatást. A teljes listához kérlek vizsgáld meg a make.conf kézikönyvét:

Kódlista 1.1: A make.conf kézikönyve

$ man make.conf

Hogy megtudd mi a FEATURES jelenlegi beállítása, futtasd az emerge --info parancsot és keress rá a FEATURES változóra vagy használd a grep-et:

Kódlista 1.2: A FEATURES változó jelenlegi értéke

$ emerge --info | grep FEATURES

3.b. Elosztott fordítás

A distcc használata

A distcc egy program amely lehető teszi az elosztott fordítást külöböző, nem feltétlenül azonos , hálózati gépeken keresztül. A distcc kliens elküld minden szükséges információt az elérhető distcc szervereknek (ahol fut a distccd) amik így képesek lesznek lefordítani a forráskód részeit a kliens számára. A hálózat eredménye egy gyorsabb fordulási idő.

További információkat a distcc programról (és annak üzembehelyezéséről) a Gentoo Distcc Dokumentációban találsz..

A distcc telepítése

Distcc magával hoz egy grafikus megfigyelőt, amivel figyelemmel követhetőek a taszkok amiket a számítógép elküld fordításra. Ha Gnome ablakkezelőt használsz, tedd be a 'gnome' zászlót a USE változóba. Ellenben, ha nem használsz Gnome ablakkezelőt, de használni akarod a megfigyelőt, tedd a 'gtk' zászlót a USE változódba.

Kódlista 2.1: A distcc telepítése

# emerge distcc

Portage támogatás aktiválása

Add hozzá a distcc-t a FEATURES változóhoz a /etc/make.conf fájlban. Ezután, szerkeszd a MAKEOPTS változót kedved szerint. Ökölszabály lehet, hogy használd a "-jX"-et ahol az X a CPUk száma ami a distccd-t futtatja (a jelenlegi állomás) plusz egy, de jobb eredményeket érhetsz el egyéb számokkal is.

Most futtasd distcc-config parancsot és üsd be az elérhető distcc szerverek listáját. Egy egyszerű példa ahol következő elérhető DistCC szerverek találhatóak; 192.168.1.102 (a jelenlegi állomás), 192.168.1.103 és 192.168.1.104 (két "különböző" állomás):

Kódlista 2.2: A distcc beállítása három elérhető distcc szerverhez

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

Ne felejtsd el futtatni a distccd démont:

Kódlista 2.3: A distccd démonok elindítása

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

3.c. Fordítás gyorsítótárazás

A ccache-ről

A ccache egy gyors fordító gyorsítótár. Amikor egy programot fordítasz, gyorsítótárba helyezi a közbeeső eredményeket, hogy mikor újrafordítod a programot , a fordítási idő jelentősen lerövidüljön. Általános esetben ez 5-10- szer gyorsabb fordítást eredményezhet.

Ha felkeltette érdeklődésed a ccache, látogass el a ccache honlapra.

A ccache telepítése

A ccache telepítéséhez, futtasd az emerge ccache parancsot:

Kódlista 3.1: A ccache telepítése

# emerge ccache

Portage támogatás aktiválása

Nyisd meg a /etc/make.conf fájlt és add hozzá a ccache-t a FEATURES változóhoz. Ezután, add meg egy új változót, CCACHE_SIZE néven és állítsd be "2G"-ra:

Kódlista 3.2: A CCACHE_SIZE megváltoztatása a /etc/make.conf fájlban

CCACHE_SIZE="2G"

A ccache működésének ellenőrzésére, kérdezd le a ccache statisztikáit. Mivel a Portage eltérő ccache könyvtárat használ, meg kell adnod CCACHE_DIR változót:

Kódlista 3.3: ccache statisztika megtekintése

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

A /var/tmp/ccache alatt érhető el a Portage alapértelmezett ccache könyvtára; ha megakarod ezt változtatni állítsd át a CCACHE_DIR változót a /etc/make.conf fájlban.

Viszont, ha futtatni akarod a ccache programot, az az alapértelmezett ${HOME}/.ccache könyvtárat fogja használni, ezért kell megadnod a CCACHE_DIR változót, mikor le akarod kérdezni a (Portage) ccache statisztikáit.

A ccache használata nem-Portage C fordításhoz

Ha nem-Portage fordításokra akarod használni a ccache-t, add hozzá /usr/lib/ccache/bin-t a PATH változódhoz (a /usr/bin elé). Ez végrehajtható a .bash_profile szerkesztésével a felhasználói könyvtáradban (home). A .bash_profile használata az egyik lehetséges módja a PATH változó megadásának.

Kódlista 3.4: A .bash_profile szerkesztése

PATH="/usr/lib/ccache/bin:/opt/bin:${PATH}"

3.d. Bináris csomag támogatás

Bináris csomagok készítése

A Portage támogatja az előre elkészített csomagok telepítését. Ennek fényében a Gentoo nem biztosít előfordított csomagokat (kivéve a GRP snapshotokat). A Portage jelenleg nem teljesen támogatja az előfordított csomagokat.

Előfordított csomagok készítéséhez használd a quickpkg programot, ha az már telepítve van, vagy használd az emerge --buildpkg vagy -- buildpkgonly opcióit.

Ha azt akarod, hogy a Portage mindegy egyes csomagból készítsen előfordított csomagot, add hozzá a buildpkg-t a FEATURES változóhoz.

További ismereteket az előfordított csomagokról a catalyst-tal kaphatsz. További információ a catalyst-ról a Catalyst Referencia Kézökönyvben és a Catalyst Gyakran Ismételt Kérdésekben.

Előfordított csomagok telepítése

Habár a Gentoo egyet sem biztosít, lehetőséged van saját központi tárolót létrehozni az előfordított csomagok tárolásához. Ha ezt a tárolót akarod használni, a PORTAGE_BINHOST változót erre kell irányítanod, hogy a Portage is tudja mit akarsz. Például, az előfordított csomagok a ftp://buildhost/gentoo címen találhatóak:

Kódlista 4.1: A PORTAGE_BINHOST a /etc/make.conf fájlban

PORTAGE_BINHOST="ftp://buildhost/gentoo"

Amikor egy előfordított csomagot akarsz telepíteni, add hozzá --getbinpkg opciót az emerge parancshoz a --usepkg opcióval együtt. Az előbbi megmondja az emerge-nek, hogy töltse le az előfordított csomagot az előzőekben megadott szerverről, míg ez utóbbi azt mondja az emerge- nek, hogy próbálja meg telepíteni az előfordított csomagot, mielőtt letöltené a forrást és lefordítaná azt.

Például a gnumeric telepítése előfordított csomagból:

Kódlista 4.2: A gnumeric előfordított csomag telepítése

# emerge --usepkg --getbinpkg gnumeric

További információ az emerge előfordított csomagjairól az emerge kézikönyvében olvasható:

Kódlista 4.3: Az emerge kézikönyve

$ man emerge

3.e. Fáljok megszerzése

Párhuzamos letöltés

Amikor egy nagy kupac csomagot szeretnél emergelni, akkor a Portage képes a soron következő csomag megszerzésére, amíg a jelenlegi csomagot állítja elő, ezzel lerövidítve az emergelés időtartamát a letöltési idővel. Ehhez nem kell mást tenned, mint a "parallel-fetch" opciót megadni a FEATURES listában.

Userfetch

Hiába fut a Portage root jogkörrel, a Portage hajlandó ezt eldobni a forráscsomag megszerzésének az idejéig, ha a FEATURES="userfetch" meg van adva. Ezzel is egy kicsit emelkedik a biztonság.


[ << ] [ < ] [ Kezdőlap ] [ > ] [ >> ]


Nyomtatás

View all

Frissítve 2007. május 7.

Ezen dokumentum eredeti változatának utolsó frissítési dátuma 2014. június 1.

Összefoglaló: Fedezd fel a Portage szolgáltatásait, az elosztott fordítást, a ccache-t, stb.

Sven Vermeulen
Szerző

Grant Goodyear
Szerző

Roy Marples
Szerző

Daniel Robbins
Szerző

Chris Houser
Szerző

Jerry Alexandratos
Szerző

Seemant Kulleen
Gentoo x86 fejlesztő

Tavis Ormandy
Gentoo Alpha fejlesztő

Jason Huebel
Gentoo AMD64 fejlesztő

Guy Martin
Gentoo HPPA fejlesztő

Pieter Van den Abeele
Gentoo PPC fejlesztő

Joe Kallar
Gentoo SPARC fejlesztő

John P. Davis
Szerkesztő

Pierre-Henri Jondot
Szerkesztő

Eric Stockbridge
Szerkesztő

Rajiv Manglani
Szerkesztő

Jungmin Seo
Szerkesztő

Stoyan Zhekov
Szerkesztő

Jared Hudson
Szerkesztő

Colin Morey
Szerkesztő

Jorge Paulo
Szerkesztő

Carl Anderson
Szerkesztő

Jon Portnoy
Szerkesztő

Zack Gilburd
Szerkesztő

Jack Morgan
Szerkesztő

Benny Chuang
Szerkesztő

Erwin
Szerkesztő

Joshua Kinard
Szerkesztő

Tobias Scherbaum
Szerkesztő

Xavier Neys
Szerkesztő

Joshua Saddler
Szerkesztő

Gerald J. Normandin Jr.
Elbíráló

Donnie Berkholz
Elbíráló

Ken Nowack
Elbíráló

Lars Weiler
Közreműködő

Konkoly Katalin
Fordító

Sipos Tibor
Fordító

Nyitrai István
Fordító

Lukács Árpád
Fordító

Lónyai Gergely
Fordító, lektor

Donate to support our development efforts.

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