Handbook:AMD64/Working/Features/hu
Portage jellemzői
A Portage szoftvercsomag-kezelő számos további funkcióval rendelkezik, amelyek még jobbá teszik a Gentoo élményt. Sok ezek közül a funkciók közül bizonyos szoftveres eszközökön alapulnak, amelyek javítják a teljesítményt, a megbízhatóságot, a biztonságot, ...
A Portage bizonyos funkcióinak engedélyezéséhez vagy letiltásához szerkessze az /etc/portage/make.conf fájlt, és frissítse vagy állítsa be a FEATURES változót, amely az egyes funkciók kulcsszavait tartalmazza, szóközzel elválasztva. Számos esetben szükséges lesz az adott funkcióhoz szükséges további eszköz telepítése is.
Nem minden Portage által támogatott funkció szerepel itt. A teljes áttekintésért kérjük, olvassa el a make.conf man súgóját.
user $
man make.conf
Ha szeretné megtudni, hogy milyen FEATURES vannak alapértelmezés szerint beállítva, akkor futtassa a emerge --info parancsot, és keresse meg a FEATURES változót, vagy használja a grep parancsot:
user $
emerge --info | grep ^FEATURES=
Elosztott kódfordítás
A distcc használata
A distcc egy program, amely a kódfordítási feladatokat több, nem feltétlenül azonos számítógépre osztja szét egy hálózaton. A distcc kliensprogram minden szükséges információt elküld a rendelkezésre álló distcc szerverek programnak (amelyeken a distccd szoftver fut), így azok le tudják fordítani a forráskód egyes részeit a kliens számára. Az eredmény a gyorsabb kódfordítási idő.
További információk a distcc szoftverről (és arról, hogy miként működik a Gentoo-val) megtalálhatók a Distcc cikkben.
A distcc telepítése
A distcc egy grafikus monitorral érkezik, amely figyeli azokat a feladatokat, amelyeket a számítógép a fordításra küld. Ez az eszköz automatikusan települ, ha a USE="gtk"
beállítás van megadva.
root #
emerge --ask sys-devel/distcc
A Portage distcc támogatásának aktiválása
Adja hozzá a distcc
értéket a FEATURES változóhoz az /etc/portage/make.conf fájlban. Ezután szerkessze a MAKEOPTS változót, és növelje a rendszer által engedélyezett párhuzamos build feladatok számát. Egy ismert irányelv az, hogy a -jN
értéket állítsa be, ahol N
a distccd programon futtató processzorok száma (beleértve az aktuális gazdagépet) plusz egy, de ez csak egy irányelv.
Most futtassa a distcc-config parancsot, és adja meg a rendelkezésre álló distcc szerverek listáját. A következő egyszerű példában feltételezzük, hogy a rendelkezésre álló DistCC szerverek a következők: 192.168.1.102 (az aktuális gazdagép), 192.168.1.103 és 192.168.1.104 (kettő "távoli" gazdagép):
root #
distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"
Ne felejtse el futtatni a distccd szolgáltatást is:
root #
rc-update add distccd default
root #
/etc/init.d/distccd start
Kódfordítási objektumok gyorsítótárazása
A ccache szoftverről
A ccache egy gyors kódfordításnál használatos gyorsítótár. Amikor egy alkalmazást épp fordításban van, akkor tárolja a köztes eredményeket, így amikor ugyanaz a programverzió forráskódja újra van binárisra fordítva, akkor a fordítási idő jelentősen csökken. Az első alkalommal, amikor a ccache fut, sokkal lassabb lesz, mint egy normál fordítás. Azonban a későbbi újrafordítások gyorsabbak lesznek. A ccache csak akkor hasznos, ha ugyanazt az alkalmazás verziót sokszor fordítják újra, így többnyire csak a szoftverfejlesztők számára hasznos.
A ccache programról további információkat találhat a honlapon.
A ccache programról ismert, hogy számos fordítási hibát okoz. Néha a ccache elavult kódobjektumokat vagy sérült fájlokat tart meg, ami olyan szoftvercsomagokhoz vezethet, amelyeket nem lehet telepíteni. Ha ez előfordul (például olyan hibák jelennek meg, mint "File not recognized: File truncated" a build naplókban), akkor próbálja meg újrafordítani az alkalmazást a ccache letiltásával (
FEATURES="-ccache"
az /etc/portage/make.conf fájlban vagy az alábbi parancssorból) mielőtt hibajelentést küldene be a fejlesztőknek:
root #
FEATURES="-ccache" emerge --oneshot <category/package>
A ccache telepítése
A ccache telepítéséhez futtassa a következő parancsot:
root #
emerge --ask dev-util/ccache
Portage ccache támogatás aktiválása
Nyissa meg az /etc/portage/make.conf fájlt, és adja hozzá a ccache
értéket a FEATURES változóhoz. Ha a FEATURES nem létezik, akkor hozza azt létre. Ezután adjon hozzá egy új változót CCACHE_SIZE néven, és állítsa be 2G
értékre:
/etc/portage/make.conf
Portage ccache támogatásának a bekapcsolásaFEATURES="ccache"
CCACHE_SIZE="2G"
A ccache működésének ellenőrzéséhez kérje meg a ccache programot, hogy biztosítsa a statisztikáit. Mivel a Portage más ccache home könyvtárat használ, ezért szükséges ideiglenesen beállítani a CCACHE_DIR változót:
root #
CCACHE_DIR="/var/tmp/ccache" ccache -s
A /var/tmp/ccache/ hely a Portage alapértelmezett ccache home könyvtára. Ezt meg lehet változtatni a CCACHE_DIR változó beállításával az /etc/portage/make.conf fájlban.
Amikor a ccache program önállóan fut, az alapértelmezett hely a ${HOME}/.ccache/ lenne, ezért a CCACHE_DIR változót be kell állítani, amikor a (Portage) ccache statisztikákat kérjük.
A ccache használata a Portage szoftvercsomag-kezelőn kívül
A Portage szoftvercsomag-kezelőn kívüli ccache fordításokhoz adja hozzá a /usr/lib/ccache/bin/ könyvtárat a PATH változó elejére (a /usr/bin előtt). Ezt úgy érheti el, hogy szerkeszti a ~/.bash_profile fájlt a felhasználó otthoni könyvtárában. A ~/.bash_profile használata egy módja a PATH változók meghatározásának.
~/.bash_profile
A ccache helyének beállítása bármely más PATH változó előttPATH="/usr/lib/ccache/bin:${PATH}"
Bináris kódra előre lefordított szoftvercsomag támogatás
Előre elkészített szoftvercsomagok létrehozása
A Portage támogatja az előre forráskódból bináris kódra lefordított, azonnal futtatható szoftvercsomagok telepítését. Nem kell nekünk a kód lefordításával foglalkoznunk.
Előre elkészített szoftvercsomag létrehozásához használja a quickpkg parancsot, amennyiben a szoftvercsomag már telepítve van a rendszeren, vagy használja az emerge parancsot a --buildpkg
vagy --buildpkgonly
opciókkal.
Annak érdekében, hogy a Portage előre elkészített szoftvercsomagokat hozzon létre minden egyes telepített szoftvercsomagból, adja hozzá a buildpkg
-t a FEATURES változóhoz.
További támogatás előre elkészített szoftvercsomagkészletek létrehozásához a catalyst segítségével érhető el. A catalyst-ról további információkat a Catalyst FAQ oldalon találhat.
Előre elkészített szoftvercsomagok telepítése
Bár a Gentoo nem biztosít ilyet, lehetséges központi szoftvertárolót létrehozni, ahol az előre elkészített szoftvercsomagok tárolódnak. Ennek a szoftvercsomag-tárolónak a használatához szükséges, hogy a Portage tudjon róla, és a PORTAGE_BINHOST változó erre kell, hogy mutasson. Például, ha az előre elkészített szoftvercsomag-tároló a következő helyen található: ftp://buildhost/gentoo:
/etc/portage/make.conf
PORTAGE_BINHOST értékének a megadásaPORTAGE_BINHOST="ftp://buildhost/gentoo"
Előre elkészített szoftvercsomag telepítéséhez adja hozzá a --getbinpkg
opciót az emerge parancshoz a --usepkg
opcióval együtt. Az előbbi arra utasítja az emerge programot, hogy töltse le az előre elkészített szoftvercsomagot az előzőleg meghatározott szerverről, míg az utóbbi arra kéri az emerge programot, hogy próbálja meg először az előre elkészített szoftvercsomagot telepíteni, mielőtt letöltené a forráskódokat és lefordítaná azokat.
Például, a gnumeric előre elkészített szoftvercsomagokkal történő telepítéséhez:
root #
emerge --usepkg --getbinpkg gnumeric
További információkat az emerge előre elkészített szoftvercsomag opcióiról az emerge man súgójában találhat:
user $
man emerge
Előre elkészített csomagok terjesztése mások számára
Ha előre elkészített szoftvercsomagokat kíván terjeszteni mások számára, győződjön meg róla, hogy ezt szabadon meg teheti-e. Ellenőrizze az upstream szoftvercsomag terjesztési feltételeit. Például egy GNU GPL alatt kiadott szoftvercsomag esetén a forráskódokat a bináris állományokkal együtt elérhetővé kell tenni.
Az ebuild-ek megadhatják a bindist
korlátozást a RESTRICT változójukban, ha a lefordított binárisok nem terjeszthetők. Néha ez a korlátozás egy vagy több USE jelölőzászlóra vonatkozik.
Alapértelmezés szerint a Portage nem maszkolja el a szoftvercsomagokat korlátozások miatt. Ez globálisan megváltoztatható az ACCEPT_RESTRICT változó beállításával az /etc/portage/make.conf fájlban. Például, a bindist
korlátozással rendelkező szoftvercsomagok maszkolásához adja hozzá az alábbi sort a make.conf fájlhoz:
/etc/portage/make.conf
Csak a binárisan terjeszthető szoftvercsomagok elfogadásaACCEPT_RESTRICT="* -bindist"
Az ACCEPT_RESTRICT változót felül lehet írni azzal, hogy az --accept-restrict
opciót átadjuk az emerge parancsnak. Például a --accept-restrict=-bindist
opció ideiglenesen elmaszkolja a bindist
korlátozással rendelkező szoftvercsomagokat.
Érdemes beállítani az ACCEPT_LICENSE változót is a szoftvercsomagok terjesztésekor. Erről további információkat a Licenses section találhat.
Minden egyes felhasználó felelőssége, hogy betartsa a szoftvercsomagok licencfeltételeit és az egyes felhasználók országának törvényeit. Az ebuild-ek által meghatározott metaadat változók (RESTRICT vagy LICENSE) iránymutatást nyújthatnak, ha a binárisok terjesztése nem engedélyezett, de a Portage kimenete vagy a Gentoo fejlesztők által megválaszolt kérdések nem jogi nyilatkozatok, és nem szabad jogi nyilatkozatként kezelni őket. Legyen óvatos, hogy betartsa a fizikai helyének a törvényeit.
Fájlok letöltése
Distfájlok ellenőrzése
A jelenleg telepített szoftvercsomagok összes eltávolított/sérült distfile-jának újbóli ellenőrzéséhez és (esetlegesen) újbóli letöltéséhez futtassa a következő parancsot:
root #
emerge --ask --fetchonly --emptytree @world