Gentoo Linux amd64 Kézikönyv: Munka a Portage szoftvercsomag-kezelővel
Portage fájlok
Beállítással kapcsolatos irányelvek
A Portage szoftvercsomag-kezelő az alapértelmezett beállítását a /usr/share/portage/config/make.globals helyen tárolja. A Portage összes beállítását kezelni lehet változókon keresztül. A Portage változóit és azok jelentéseit később fogjuk ismertetni.
Mivel sok beállításbéli irányelv architektúrák között eltér, ezért a Portage rendelkezik alapértelmezett beállítás fájlokkal, amelyek a rendszerprofil részét képezik. Ezt a profilt a /etc/portage/make.profile szimbolikus hivatkozás mutatja. A Portage beállításai a profil és az összes szülőprofil make.defaults fájljaiban vannak beállítva. Később részletesebben is elmagyarázzuk a profilokat és a /etc/portage/make.profile könyvtárat.
Amikor Ön egy beállításváltozót módosít, ne változtassa meg a /usr/share/portage/config/make.globals vagy a make.defaults fájlokat. Ehelyett használja a /etc/portage/make.conf fájlt, amely elsőbbséget élvez az előző fájlokkal szemben. További információkért olvassa el a /usr/share/portage/config/make.conf.example fájlt. Ahogy a neve is sugallja, ez csupán egy példafájl, amit a Portage nem olvas be.
Lehetséges a Portage beállításváltozót környezeti változóként definiálni, ám ezt nem javasoljuk.
Profil-specifikus információk
Már találkoztunk a /etc/portage/make.profile könyvtárral. Ez valójában egy szimbolikus hivatkozás egy profilra. Alapértelmezetten a /var/db/repos/gentoo/profiles/ könyvtáron belül találhatóra, habár máshol is létre lehet hozni profilokat, és azokra rá lehet hivatkozni. Az a profil, amelyre ez a symlink mutat, az a profil, amelyhez az operációs rendszer igazodik.
Egy profil architektúra-specifikus információkat tartalmaz a Portage szoftvercsomag-kezelő számára, mint például az adott profilhoz tartozó rendszer szoftvercsomagjainak listáját, azon szoftvercsomagok listáját, amelyek nem működnek (vagy ki vannak maszkolva) az adott profil esetében, stb.
Felhasználóspecifikus beállítások
Amikor a Portage szoftvercsomag-kezelőnek a viselkedését módosítani kell, bizonyos fájlokat a /etc/portage/ könyvtárban kell szerkeszteni. Erősen ajánlott a /etc/portage/ könyvtárban található fájlokat használni. A Portage viselkedésének környezeti változókon keresztüli felülírása pedig erősen ellenjavallott.
Az /etc/portage/ könyvtáron belül a felhasználók a következő fájlokat hozhatják létre:
- package.mask - Azokat a szoftvercsomagokat sorolja fel, amelyeket a Portage szoftvercsomag-kezelőnek soha nem szabad megpróbálnia telepíteni.
- package.unmask - Azokat a szoftvercsomagokat sorolja fel, amelyeket a Portage szoftvercsomag-kezelőnek képesnek kell lennie telepíteni, annak ellenére, hogy a Gentoo fejlesztői erősen ellenjavallják azok telepítését.
- package.accept_keywords - Azokat a szoftvercsomagokat sorolja fel, amelyeket a Portage szoftvercsomag-kezelőnek képesnek kell lennie telepíteni, annak ellenére, hogy a szoftvercsomagot a fejlesztők még nem találták alkalmasnak az operációs rendszer számára vagy az architektúra számára.
- package.use - Azokat a USE jelölőzászlókat sorolja fel, amelyeket bizonyos szoftvercsomagoknál használni kell anélkül, hogy ezeket a USE jelölőzászlókat az egész operációs rendszer használná.
Ezeknek nem feltétlenül kell fájloknak lenniük, lehetnek könyvtárak is, amelyek egy vagy több, a releváns beállításokat tartalmazó fájlt foglalnak magukban. A /etc/portage/ könyvtárral kapcsolatos további információk, valamint az létrehozható fájlok teljes listája a Portage man súgójában találhatóak meg:
user $
man portage
Portage fájl- és könyvtárhelyeinek módosítása
Az említett beállításfájlok nem tárolhatók máshol. A Portage szoftvercsomag-kezelő mindig ezeken a pontos helyeken keresi ezeket a beállításfájlokat. Azonban a Portage szoftvercsomag-kezelő számos más helyet is használ különböző célokra: szoftvercsomag építéshez, forráskód-tároláshoz, szoftvercsomag-tároló helyekhez és így tovább. Ezek mindegyikének vannak alapértelmezett helyei, de a /etc/portage/make.conf fájlon keresztül egyéni ízlés szerint módosíthatóak.
Mindezek az alapértelmezett helyek jól ismertek, de személyes ízlés szerint módosíthatók a /etc/portage/make.conf fájlon keresztül. A fejezet hátralévő része elmagyarázza, hogy a Portage milyen speciális célú helyeket használ, és hogyan lehet megváltoztatni azok elhelyezését a fájlrendszeren.
Ez a kézikönyv azonban nem szolgál hivatkozási alapként. A részletekért kérjük, hogy olvassa el a portage
és a make.conf
man súgó oldalakat:
user $
man portage
user $
man make.conf
Fájlok tárolása
Gentoo ebuild szoftvertároló
A Gentoo ebuild szoftvercsomag-tároló alapértelmezett helye a /var/db/repos/gentoo. /var/db/repos/gentoo. Ezt a helyet az alapértelmezett repos.conf fájl határozza meg, amely fájlt a /usr/share/portage/config/repos.conf helyen található. Az alapértelmezés módosításához másolja ezt a fájlt a /etc/portage/repos.conf/gentoo.conf helyre, és változtassa meg a location beállítást. Ha a Gentoo ebuild szoftvercsomag-tárolót máshol tárolja (e változó módosításával), akkor ne feledje el ennek megfelelően módosítani a /etc/portage/make.profile szimbolikus hivatkozást.
Az /etc/portage/repos.conf/gentoo.conf fájlban a location beállítás módosítása után ajánlott a következő változókat is módosítani a /etc/portage/make.conf fájlban, mivel a Portage a változók kezelésének a módja miatt nem fogja észrevenni a hely megváltozását: PKGDIR, DISTDIR, és RPMDIR.
Előre bináris futtatható kódra lefordított szoftverek
Bár a Portage alapértelmezés szerint nem használ előre elkészített bináris szoftvereket, széles körű támogatást nyújt számukra. Amikor a Portage szoftvercsomag-kezelőt arra kérik, hogy előre elkészített (már előre bináris futtatható kódra lefordított) szoftvercsomagokkal dolgozzon, akkor azokat a /var/cache/binpkgs könyvtárban fogja keresni. Ezt a könyvtárat a PKGDIR változó határozza meg.
Forráskód
Az alkalmazás forráskódja alapértelmezés szerint a /var/cache/distfiles könyvtárban tárolódik. Ezt a helyet a DISTDIR változó határozza meg.
Portage adatbázis
A Portage az operációs rendszer állapotát (milyen szoftvercsomagok vannak telepítve, mely fájlok mely szoftvercsomaghoz tartoznak, stb.) a /var/db/pkg könyvtárban tárolja.
Ne módosítsa manuálisan a rendszer állapotfájljait! Ez tönkreteheti a Portage rendszerismeretét.
Portage gyorsítótár
A Portage gyorsítótára (a módosítási időpontokkal, virtuális szoftvercsomagokkal, függőségi fa információkkal stb.) a /var/cache/edb könyvtárban tárolódik. Ez valóban egy gyorsítótár: a felhasználók törölhetik, ha éppen nem futtatnak semmilyen Portage szoftvercsomag-kezelőhöz kapcsolódó alkalmazást.
Szoftver létrehozása
Ideiglenes Portage fájlok
A Portage ideiglenes fájljai alapértelmezés szerint a /var/tmp/ könyvtárban tárolódnak. Ezt a helyet a PORTAGE_TMPDIR változó határozza meg.
Szoftverlétrehozásra szánt könyvtár
A Portage szoftvercsomag-kezelő minden egyes szoftvercsomaghoz specifikus build könyvtárakat hoz létre a /var/tmp/portage/ könyvtáron belül. Ezt a helyet a PORTAGE_TMPDIR változó határozza meg a portage/ könyvtárútvonal hozzáadásával.
Live fájlrendszer helye
Alapértelmezés szerint a Portage az összes fájlt a jelenlegi fájlrendszerre (/) telepíti, de ez megváltoztatható a ROOT környezeti változó beállításával. Ez hasznos lehet új build fájlok létrehozásakor.
Naplózási jellemzők
Ebuild naplózás
A Portage szoftvercsomag-kezelő képes a szoftvercsomagonkénti naplófájlok létrehozására, de csak akkor, ha a PORT_LOGDIR változó egy olyan helyre van beállítva, amely írható a Portage által (a Portage user-en keresztül). Alapértelmezés szerint ez a változó nincs beállítva. Ha a PORT_LOGDIR nincs beállítva, akkor a jelenlegi naplózási rendszerrel nem lesznek build naplók létrehozva, bár az új elog támogatásból a felhasználók kaphatnak néhány naplót.
Ha a PORT_LOGDIR változó nincs beállítva, akkor az engedélyezett naplózási rendszerben nem tárolódnak szoftvercsomag-létrehozási naplók (bár előfordulhat, hogy a felhasználók néhány naplót kapnak az új elog támogatás révén).
A Portage részletes vezérlést kínál a naplózás felett az elog használatával:
- PORTAGE_ELOG_CLASSES: Itt adhatják meg a felhasználók, hogy milyen típusú üzeneteket szeretnének naplózni. A változó értéke lehet bármilyen szóközzel elválasztott kombináció, például
info
,warn
,error
,log
ésqa
típusoknak.info
: Naplózza az ebuild által nyomtatott "einfo" üzeneteket.warn
: Naplózza az ebuild által nyomtatott "ewarn" üzeneteket.error
: Naplózza az ebuild által nyomtatott "eerror" üzeneteket.log
: Naplózza az egyes ebuild-ekben található "elog" üzeneteket.qa
: Naplózza az ebuild által nyomtatott "QA Notice" üzeneteket.
- PORTAGE_ELOG_SYSTEM: Ez a naplóüzenetek feldolgozására szolgáló modul(ok) kiválasztását határozza meg. Ha üresen marad, a naplózás le van tiltva. Bármelyik szóközzel elválasztott kombináció használható:
save
,custom
,syslog
,mail
,save_summary
, ésmail_summary
. Az elog használatához legalább egy modult kell használni.save
: Ez csomagonként egy naplót ment a $PORT_LOGDIR/elog könyvtárba, vagy a /var/log/portage/elog könyvtárba, ha a $PORT_LOGDIR nincs definiálva.custom
: Az összes üzenetet átadja egy felhasználó által meghatározott parancsnak a $PORTAGE_ELOG_COMMAND változóban; ezt később tárgyaljuk.syslog
: Az összes üzenetet az installált rendszer naplózójába küldi.mail
: Az összes üzenetet egy felhasználó által meghatározott mailserverre küldi a $PORTAGE_ELOG_MAILURI változóban; ezt később tárgyaljuk. Az elog levelezési funkciói a portage-2.1.1 vagy újabb verzióját igénylik.save_summary
: Hasonló a save-hez, de az összes üzenetet összefogja a $PORT_LOGDIR/elog/summary.log vagy ha a $PORT_LOGDIR nincs definiálva, akkor a /var/log/portage/elog/summary.log fájlba menti.mail_summary
: Hasonló a mail-hez, de az összes üzenetet egyetlen levélben küldi el, amikor az emerge befejeződik.
- PORTAGE_ELOG_COMMAND: Ez csak akkor használható, ha az
custom
modul engedélyezve van. A felhasználók megadhatnak egy parancsot a naplóüzenetek feldolgozásához. Vegye figyelembe, hogy a parancs két változót használhat: a ${PACKAGE} a csomag neve és verziója, míg a ${LOGFILE} a naplófájl abszolút útvonala. Például:
PORTAGE_ELOG_COMMAND="/path/to/logger -p '\${PACKAGE}' -f '\${LOGFILE}'"
- PORTAGE_ELOG_MAILURI: Ez tartalmazza a mail modul beállításait, például címet, felhasználót, jelszót, levelezőszervert és portszámot. Az alapértelmezett beállítás a "root@localhost localhost". Az alábbi példa egy SMTP szerverre vonatkozik, amely felhasználónév- és jelszóalapú hitelesítést igényel egy adott porton (alapértelmezettként a 25-ös port):
PORTAGE_ELOG_MAILURI="user@some.domain username:password@smtp.some.domain:995"
- PORTAGE_ELOG_MAILFROM: Lehetővé teszi a felhasználónak a naplólevelek "feladó" címének beállítását. Ha nincs beállítva, akkor az alapértelmezett a "Portage".
- PORTAGE_ELOG_MAILSUBJECT: Lehetővé teszi a felhasználónak naplólevelek tárgysorának létrehozását. Vegye figyelembe, hogy ez a parancs két változót használhat: a ${PACKAGE} megjeleníti a szoftvercsomag nevét és verzióját, míg a ${HOST} a hoszt, ahol a Portage fut teljesen minősített domain nevét adja meg. Például:
PORTAGE_ELOG_MAILSUBJECT="package \${PACKAGE} was merged on \${HOST} with some messages"
Azoknak a felhasználóknak, akik a Portage-2.0.* verzióval használták az enotice-t, teljesen el kell távolítaniuk az enotice-t, mivel ez nem kompatibilis az elog-gal.
Portage beállítása
Ahogy korábban említettük, a Portage a /etc/portage/make.conf fájlban vagy a /etc/portage/ alkönyvtárainak egyikében található változókon keresztül állítható be. További információért kérjük, olvassa el a make.conf
és a portage
man súgót:
user $
man make.conf
user $
man portage
Build-specifikus opciók
Konfigurálási és fordítói beállítások
Amikor a Portage alkalmazásokat hoz létre, akkor a következő változók tartalmát adja át a kódfordítónak és a konfiguráló szkriptnek:
- CFLAGS és CXXFLAGS
- Meghatározzák a kívánt fordítási jelölőzászlókat a C és C++ kód lefordításához.
- CHOST
- Meghatározza az alkalmazás beállításszkriptjéhez szükséges létrehozási host számítógép információit.
- MAKEOPTS
- A make parancsnak kerül átadásra, és általában a kódfordítás során használt párhuzamosság mértékének meghatározására van beállítva. A make opcióival kapcsolatos információk megtalálhatók a make(1) man súgójában.
A USE változót szintén a beállítás és a fordítás során használják. A részletekért kérjük, tekintse át ennek a kézikönyvnek a korábbi fejezeteit.
A merge opciók
Amikor a számítógépen a Portage szoftvercsomag-kezelő a a merge segítségével egy újabb verziót telepít egy adott szoftvercsomagból, akkor először eltávolítja az elavult fájlokat az előző verzióból. A Portage 5 másodperces késleltetést biztosít a felhasználónak, mielőtt eltávolítaná a régebbi verziót. Ezt az 5 másodpercet a CLEAN_DELAY változó határozza meg.
Beállíthatja az EMERGE_DEFAULT_OPTS változót, hogy az emerge minden futtatásakor bizonyos opciókat használjon. Hasznos opciók például a --ask
, a --verbose
és a --tree
.
Konfigurációs fájl védelme
Portage védett könyvtárai
A Portage szoftvercsomag-kezelő felülírja az újabb verziók által biztosított fájlokat, ha azok nincsenek védett helyen tárolva. Ezeket a védett könyvtárakat a CONFIG_PROTECT változó határozza meg, és általában konfigurációs fájlok helyei. A könyvtárlista szóközzel van elválasztva.
Egy fájlt, amelyet ilyen védett helyre írnának, átneveznek, és a felhasználót figyelmeztetik a (javasolt) beállításfájl újabb verziójának jelenlétére.
Az aktuális CONFIG_PROTECT beállítás megismeréséhez használja az emerge --info parancs kimenetét:
user $
emerge --info | grep 'CONFIG_PROTECT='
További információ a Portage beállításfájl védelméről az emerge man súgójában, azon belül a CONFIGURATION FILES szekciójában található.
user $
man emerge
Könyvtárak kihagyása
A védett helyek bizonyos alkönyvtárainak "védtelenítéséhez" használja a CONFIG_PROTECT_MASK változót.
Letöltési opciók
Szerverek helyei
Ha a kért információ vagy adat nem érhető el az operációs rendszeren, akkor a Portage az interneten fogja lekérni azt. A különböző információs és adatcsatornák kiszolgálóhelyeit a következő változók határozzák meg:
- GENTOO_MIRRORS
- Megadja azon kiszolgálóhelyek listáját, amelyek forráskódokat (distfile-okat) tartalmaznak.
- PORTAGE_BINHOST
- Meghatározza az operációs rendszer számára előre összeállított szoftvercsomagjait tartalmazó kiszolgálóhelyet.
A harmadik beállítás az rsync kiszolgáló helyét érinti, amelyet a felhasználók a helyi Gentoo tárhelyük frissítésére használnak. Ezt az /etc/portage/repos.conf fájlban (vagy egy fájlban ezen a könyvtáron belül, ha könyvtárként van definiálva) kell meghatározni.
- sync-type
- Meghatározza a kiszolgáló típusát, és alapértelmezés szerint az
rsync
értékre állítja. - sync-uri
- Meghatározza azt a konkrét szervert, amelyet a Portage a Gentoo szoftvertároló lekérésére használ.
A GENTOO_MIRRORS, a sync-type és a sync-uri változók automatikusan beállíthatók a mirrorselect alkalmazás segítségével, amelyet a app-portage/mirrorselect szoftvercsomag biztosít. További információért kérjük, tekintse meg a mirrorselect online súgóját:
root #
mirrorselect --help
Ha a környezet proxy szerver használatát igényli, akkor megadhatók a http_proxy, ftp_proxy és RSYNC_PROXY változók.
Fetch parancsok
Amikor a Portage forráskódot szeretne lekérni, alapértelmezés szerint a wget(1) szoftvert használja. Ez megváltoztatható a FETCHCOMMAND változóval.
A Portage szoftvercsomag-kezelő képes folytatni a részben letöltött forráskódok letöltését. Alapértelmezés szerint a wget(1) szoftvert használja, de ez megváltoztatható a RESUMECOMMAND változóval.
Győződjön meg róla, hogy a FETCHCOMMAND és a RESUMECOMMAND változó a forráskódot a megfelelő helyen tárolja. A változókon belül a URI és a DISTDIR változók használhatók a forráskód helyének és a dist fájlok helyének megadására.
Lehetőség van protokoll-specifikus kezelők meghatározására is, mint például a FETCHCOMMAND_HTTP, FETCHCOMMAND_FTP, RESUMECOMMAND_HTTP, RESUMECOMMAND_FTP és így tovább.
Az rsync beállításai
Nem lehetséges a Portage szoftvercsomag-kezelő által használt rsync parancs módosítása a Gentoo szoftvertároló frissítéséhez, de lehetséges néhány, az rsync parancshoz kapcsolódó változó beállítása:
- PORTAGE_RSYNC_OPTS
- Beállítja az alapértelmezett változók számát a szinkronizálás során. Minden egyes változó szóközzel van elválasztva. Ezeket nem szabad megváltoztatni, hacsak nem biztos benne, hogy pontosan tudja, hogy Ön mit csinál. Vegye figyelembe, hogy bizonyos abszolút szükséges opciók mindig használatban lesznek, még akkor is, ha a PORTAGE_RSYNC_OPTS üres.
- PORTAGE_RSYNC_EXTRA_OPTS
- További opciók beállítására szolgál a szinkronizálás során. Minden egyes opciót szóközzel kell elválasztani:
--timeout=<number>
- Meghatározza azon másodpercek számát, ameddig egy rsync kapcsolat inaktív lehet, mielőtt az rsync időtúllépésnek tekintené a kapcsolatot. Ez az érték alapértelmezés szerint
180
, de a betárcsázós kapcsolatot használó vagy lassú számítógéppel rendelkező felhasználók esetében érdemes lehet ezt azé értéket300
-ra vagy magasabbra állítani. --exclude-from=/etc/portage/rsync_excludes
- Ez egy fájlra mutat, amely felsorolja azokat a szoftvercsomagokat és/vagy kategóriákat, amelyeket az rsync figyelmen kívül hagy az frissítési folyamat során. Ebben az esetben az /etc/portage/rsync_excludes fájlra mutat.
--quiet
- Csökkenti a képernyőre írt kimenetet.
--verbose
- Megjeleníti a teljes fájllistát.
--progress
- Megjeleníti az egyes fájlokhoz tartozó folyamatjelzőt.
- PORTAGE_RSYNC_RETRIES
- Meghatározza, hogy hányszor próbáljon meg az rsync csatlakozni a SYNC változó által megadott tükörszerverhez, mielőtt teljesen feladná a kapcsolódási szándékát. Ez az érték alapértelmezés szerint
3
.
További információ ezekről az opciókról és másokról az rsync(1) man súgóban található.
Gentoo beállítása
Szoftverág kiválasztása
Az alapértelmezett szoftverfejlesztői ág megváltoztatása az ACCEPT_KEYWORDS változóval lehetséges. Alapértelmezés szerint az architektúra stabil ága van beállítva. A Gentoo szoftverfejlesztői ágainak további információit a következő fejezetben találhatja meg.
Portage jellemzői
Bizonyos Portage jellemzők aktiválása a FEATURES változón keresztül lehetséges. A Portage jellemzők a korábbi fejezetekben kerültek tárgyalásra.
Portage viselkedése
Erőforrás-menedzsment
A PORTAGE_NICENESS változóval a felhasználók növelhetik vagy csökkenthetik az Portage futtatása során használt nice értéket. A PORTAGE_NICENESS értéke a Portage aktuális nice értékéhez "hozzáadódik".
További információ a nice értékekről a Portage niceness oldalon és a nice(1) man súgóban található:
user $
man nice
Kimenet viselkedése
A NOCOLOR változó, amelynek alapértelmezett értéke hamis (false), meghatározza, hogy a Portage letiltsa-e a színes kimenet használatát.
Egy ág használása
Stabil
Az ACCEPT_KEYWORDS változó meghatározza a szoftverágat az operációs rendszer számára. Ezt a változót a /etc/portage/make.conf fájlban állítjuk be, és alapértelmezés szerint a "stabil" ágra van ráállítva. Ebben az esetben az alapértelmezett érték a amd64.
/etc/portage/make.conf
A stabil ág használata# Az alábbi érték alapértelmezés szerint be van állítva, és _nem_ szükséges kifejezetten meghatározni.
ACCEPT_KEYWORDS="amd64"
A kisebb instabilitási kockázat vagy egyéb problémák elkerülése érdekében általában ajánlott, hogy a felhasználók a stabil szoftverágon maradjanak, és csak esetenként engedélyezzék a szoftvercsomagok tesztelési verzióit. Tekintse meg az alábbi a "Mixing stable with testing" szakaszt.
Tesztelés
Itt sárkányok laknak! A tesztelési ágból származó szoftverek futtatása stabilitási problémákhoz, nem tökéletes szoftvercsomag-kezeléshez (például hibás/hiányzó függőségekhez), gyakori ebuild-revíziókhoz (ami sok fordítással jár) vagy más, gyakran váratlan módon hibás szoftvercsomagokhoz vezethet. Azok a rendszergazdák, akik kevésbé magabiztosak a Gentoo vagy általában a Linux használatában, kerüljék a tesztelési ágat. Amint azt fentebb említettük, ajánlott a stabil, alaposabban tesztelt ágon maradni.
Azokban az esetekben, amikor a rendszergazda szeretne egy kevésbé tesztelt szoftvercsomagot futtatni, és cserébe a "legmodernebb technológiájú" frissítéseket megkapni, akkor választható a tesztelési szoftverfejlesztői ág. A tesztelési ágra való váltáshoz állítsa az ACCEPT_KEYWORDS változót a ~amd64 értékre.
/etc/portage/make.conf
Tesztelési ág használata# A Portage utasítása a tesztelési ág (~) használatára az amd64 architektúra számára.
ACCEPT_KEYWORDS="~amd64"
Bármely, a Gentoo projekt által támogatott architektúra átállhat a tesztelési ágra, ha egyszerűen egy ~
(tilde szimbólumot) ad az architektúra ACCEPT_KEYWORDS értéke elé.
A tesztelési ág pontosan olyan, amilyennek az ember elvárja, amilyen egy felvilágosult liberális elme: instabil. Ha egy csomag a tesztelési ágban van, akkor az azt jelenti, hogy a fejlesztők úgy vélik, hogy működőképes, de nem tesztelték alaposan. A tesztelési ágat használó operációs rendszerek lehetnek az elsők, akik hibákat tapasztalnak a szoftvercsomagban. Ha Ön hibákat talál, akkor kérjük, jelentse be a hibát, hogy a fejlesztők tudomást szerezzenek róla.
Amikor a stabil ágról a tesztelési ágra vált és végrehajt egy @world frissítést, normális, hogy sok – néha száz – szoftvercsomag kerül frissítésre a legújabb elérhető verziókra. A frissítések általában az upstream projekt aktuális kiadásának felelnek meg. Ne feledje, hogy a stabil ágról a tesztelésire való áttérés után kihívást jelenthet visszatérni a stabil ágra. Ez várható.
Stabil ág keverése a tesztelési ággal
package.accept_keywords
Lehetséges utasítani a Portage szoftvercsomag-kezelőt, hogy engedélyezze a tesztelési ágat bizonyos szoftvercsomagok esetében, miközben az operációs rendszer többi része a stabil ágat használja. Ennek eléréséhez adja hozzá a szoftvercsomag kategóriáját és nevét a /etc/portage/package.accept_keywords fájlhoz. Lehetőség van egy könyvtár (ugyanazzal a névvel) létrehozására is, és a szoftvercsomag könyvtár alatti fájlban történő felsorolásra.
Például, a gnumeric tesztelési ágának használatához:
/etc/portage/package.accept_keywords
A tesztelési ág használata kizárólag csak a gnumeric alkalmazás részéreapp-office/gnumeric
Részben kész verziók tesztelése
Egy adott szoftververzió használatához a tesztelési ágból, de nem engedélyezni a tesztelési ág frissítéseit a későbbi verziókhoz, egy adott csomag verzióját a package.accept_keywords fájlban lehet meghatározni. Egy adott verzió meghatározásához az =
operátort kell használni. Lehetőség van verziótartomány megadására is a <=
, <
, >
vagy >=
operátorok segítségével.
Minden esetben, ha bármilyen szoftvercsomag verzióinformáció van meghatározva, akkor egy operátort kell használni. Verzióinformáció nélkül egy operátort nem lehet használni.
Az alábbiakban a Portage szoftvercsomag-kezelő utasítva van, hogy engedélyezze a gnumeric egy adott verziójának, a 1.2.13 verziónak a telepítését, még akkor is, ha az a tesztelési ágon található:
/etc/portage/package.accept_keywords
Adott verzió kiválasztásának engedélyezése a gnumeric szoftvercsomag számára=app-office/gnumeric-1.2.13
Elfedett (maszkolt) szoftvercsomagok
package.unmask
A Gentoo fejlesztők jó okkal rejtik el (maszkolják) a szoftvercsomagokat. Ezért a szoftvercsomagok elrejtésének (maszkolásának) feloldása általában nem támogatott a Gentoo támogatási csatornáin, és a package.unmask és/vagy package.mask szoftvercsomagokkal kapcsolatos támogatási kérelmeket valószínűleg figyelmen kívül hagyják vagy WONTFIX-ként jelölik. Kérjük, hogy járjon el kellő óvatossággal, amikor szoftvercsomagokat fed fel (unmasking).
Tegyük fel, hogy egy szoftvercsomagot a Gentoo fejlesztői elfedtek (maszkoltak). Amikor a szoftvercsomag telepítését megkísérlik, a Portage üzenetet fog küldeni, amely jelzi, hogy a szoftvercsomag el van fedve (maszkolva van), és (általában) megemlíti annak okát is. Tegyük fel, hogy egy rendszergazda a package.mask fájlban szereplő ok ellenére (alapértelmezés szerint a /var/db/repos/gentoo/profiles/ helyen található) mégis telepíteni szeretné a szoftvercsomagot.
Ehhez a rendszergazdának hozzá kell adnia a cél szoftvercsomag verzióját (általában ez ugyanaz a sor lesz a profilban található package.mask fájlból) a /etc/portage/package.unmask helyre.
Például, ha a =mail-client/mutt-2.2.9
el van fedve (maszkolva van), akkor a pontosan ugyanilyen sort hozzá lehet adni a package.unmask helyhez a maszkolás feloldásának az érdekében:
/etc/portage/package.unmask
Egy adott szoftvercsomag verzió felfedése az elrejtett állapotból=mail-client/mutt-2.2.9
Ha a /var/db/repos/gentoo/profiles/package.mask fájl bejegyzése szoftvercsomag verzióinak a tartományát foglalja magában, akkor csak a ténylegesen szükséges verzió(ka)t kell felfedni a rejtés alól. Kérjük, olvassa el az előző szakaszt, hogy megtanulja, hogy miként kell verziókat meghatározni operátorok használatával.
package.mask
Lehetséges utasítani a Portage szoftvercsomag-kezelőt, hogy ne telepítsen egy bizonyos szoftvercsomagot, vagy ne frissítsen egy szoftvercsomag adott verziójára. Ezt szoftvercsomag elfedésnek (kimaszkolásnak) hívjuk. Egy szoftvercsomag elfedéséhez adjon meg szükséges kvalifikátorokat a /etc/portage/package.mask helyen (akár ebben a fájlban, akár ebben a könyvtárban lévő fájlban).
Például, hogy megakadályozza a Portage szoftvercsomag-kezelőt abban, hogy a gentoo-sources-6.6.21-nál újabb kernel forráskódokat telepítsen, adja hozzá az alábbi sort a package.mask helyhez:
/etc/portage/package.mask
Elfedés alkalmazása sys-kernel/gentoo-sources 6.6.21 verziónál nagyobb verziókra>sys-kernel/gentoo-sources-6.6.21
dispatch-conf
dispatch-conf egy olyan eszköz, amely segít az ._cfg0000_<name> fájlok egyesítésében. Az ._cfg0000_<name> fájlokat a Portage generálja, amikor egy olyan fájlt akar felülírni, amely a CONFIG_PROTECT változó által védett könyvtárban található.
A dispatch-conf lehetővé teszi a felhasználók számára, hogy frissítéseket olvasszanak be (merge) a konfigurációs fájljaikba, miközben nyomon követik az összes változást. A dispatch-conf a konfigurációs fájlok közötti különbségeket patch-ekként vagy az RCS verziókövető rendszer használatával tárolja. Ez azt jelenti, hogy ha valaki hibázik a konfigurációs fájl frissítésekor, akkor az adminisztrátor bármikor visszaállíthatja a fájlt az előző verzióra.
A dispatch-conf használatakor a felhasználók választhatnak, hogy megtartják az aktuális konfigurációs fájlt, használják az új konfigurációs fájlt, szerkesztik a jelenlegit, vagy interaktívan egyesítik a változásokat. A dispatch-conf néhány további hasznos funkcióval is rendelkezik:
- Automatikusan egyesíti a konfigurációs fájl frissítéseit, amelyek csak a megjegyzéseket érintik.
- Automatikusan egyesíti a konfigurációs fájlokat, amelyek csak a szóközök mennyiségében különböznek.
Először szerkessze a /etc/dispatch-conf.conf fájlt, és hozza létre a archive-dir változó által hivatkozott könyvtárat. Ezután hajtsa végre a dispatch-conf parancsot.
root #
dispatch-conf
Amikor a dispatch-conf parancsot futtatja, minden módosított konfigurációs fájlt egyenként átnéz. Nyomja meg az u billentyűgombot az aktuális konfigurációs fájl frissítéséhez (cseréjéhez) az új fájllal, és folytassa a következő fájllal. Nyomja meg a z billentyűgombot az új konfigurációs fájl törléséhez és folytassa a következő fájllal. Az n billentyűgomb arra utasítja a dispatch-conf programot, hogy lépjen a következő fájlra. Ez a lehetőség arra szolgál, hogy egy egyesítést későbbre halasszon. Miután az összes konfigurációs fájl feldolgozásra került, a dispatch-conf kilép. Bármikor megnyomhatja az q billentyűgombot is a programból való kilépés érdekében.
A részletesebb információkért tekintse meg a dispatch-conf kézikönyvoldalt (man page). Leírja, hogy miként lehet interaktívan egyesíteni az aktuális és új konfigurációs fájlokat, szerkeszteni az új konfigurációs fájlokat, megvizsgálni a fájlok közötti különbségeket, és még sok más lehetőséget.
user $
man dispatch-conf
quickpkg
A quickpkg segítségével a felhasználók archiválhatják azokat a szoftvercsomagokat, amelyek már össze vannak olvasztva a rendszeren. Ezek az archívumok előre összeállított szoftvercsomagokként használhatók. A quickpkg futtatása egyszerű: csak adja meg az archiválandó szoftvercsomagok nevét.
Például, hogy archiválja a curl, orage és procps csomagokat, használja a következő parancsot:
root #
quickpkg curl orage procps
A kész szoftvercsomagok alapértelmezés szerint az $PKGDIR könyvtárban (/var/cache/binpkgs/) kerülnek tárolásra. Ezek a szoftvercsomagok a $PKGDIR/CATEGORY könyvtárba lesznek helyezve.
Gentoo szoftvertároló egy részhalmazának használata
Egyes szoftvercsomagok és szoftverkategóriák kizárása
Lehetséges bizonyos szoftverkategóriák/szoftvercsomagok szelektív frissítésére és a többi szoftverkategória/szoftvercsomag figyelmen kívül hagyására. Ezt úgy lehet elérni, hogy az rsync kizárja a kategóriákat/csomagokat az emerge --sync lépés során.
Ahhoz, hogy ez a módszer működjön, a manifest ellenőrzést le kell tiltani. Ez csökkenti a szoftvercsomag-tárolónak a biztonságát. Az ellenőrzés letiltásához vagy tiltsa le a
rsync-verify
USE jelölőzászlót a sys-apps/portage szoftvercsomagon, vagy állítsa be a sync-rsync-verify-metamanifest=no
értéket (tekintse meg a portage(5) man súgót) a /etc/portage/repos.conf/gentoo.conf fájlban, amely a Gentoo ebuild szoftvercsomag-tárolót állítja be.Adja meg a kizárási mintákat tartalmazó fájl nevét a PORTAGE_RSYNC_EXTRA_OPTS változóban a /etc/portage/make.conf fájlban:
/etc/portage/make.conf
A kizárófájl meghatározásaPORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
/etc/portage/rsync_excludes
Minden játék kizárása, ez Istenkáromlás is egybengames-*/*
Az ebuild szoftvercsomag-tárolók – különösen a Gentoo ebuild szoftvercsomag-tároló – részeinek kizárása szoftvercsomag-függőségi problémákhoz vezethet! Az új, engedélyezett szoftvercsomagok függhetnek új, de kizárt szoftvercsomagoktól. A kizárások nem támogatottak, ennek a kockázatnak a tudatában járjon el.
Nem hivatalos ebuild-ek hozzáadása
Egy egyedi ebuild szoftvertároló létrehozása
Egy szoftvercsomag-tároló létrehozása az eselect az repository használatával
Alternatív megoldásként egy egyedi ebuild szoftvercsomag-tároló gyorsan létrehozható az eselect repository modul használatával (a app-eselect/eselect-repository szoftvercsomagból). A következő példában helyettesítse a localrepo
nevet egy Ön által kiválasztott névvel:
root #
eselect repository create localrepo
Adding localrepo to /etc/portage/repos.conf/eselect-repo.conf ... Repository <ebuild_repository_name> created and added
Egy "localrepo" nevű alap szoftvertároló elérhetővé válik a /var/db/repos/localrepo könyvtárban.
Alternatíva: Kézi úton történő létrehozás
Lehetséges utasítani a Portage szoftvercsomag-kezelőt, hogy olyan ebuild-eket használjon, amelyek nem a hivatalos forrásból érhetőek el a Gentoo ebuild szoftvertárolón keresztül. Ehhez hozzon létre egy új könyvtárat (például /var/db/repos/localrepo), amelyben a harmadik fél által készített ebuild-eket tárolhatja. Ennek az új szoftvertárolónak ugyanazt a könyvtárstruktúrát kell tartalmaznia, mint a hivatalos Gentoo szoftvertárolónak.
root #
mkdir -p /var/db/repos/localrepo/{metadata,profiles}
root #
chown -R portage:portage /var/db/repos/localrepo
Ezután válasszon egy észszerű nevet a tárolónak. A következő példa a "localrepo" nevet használja:
root #
echo 'localrepo' > /var/db/repos/localrepo/profiles/repo_name
Ezután határozza meg az EAPI-t, amelyet a szoftvertárolón belüli profilokhoz használnak:
root #
echo '8' > /var/db/repos/localrepo/profiles/eapi
Mondja meg a Portage szoftvercsomag-kezelőnek, hogy az elsődleges (master) szoftvertároló az a fő (main) Gentoo ebuild szoftvertároló, és hogy a helyi tárolót ne szinkronizálja automatikusan (mivel ezt nem támogatja külső forrás, mint például egy rsync szerver, git tükörszerver, vagy más szoftvertároló tipus):
/var/db/repos/localrepo/metadata/layout.conf
masters = gentoo
auto-sync = false
thin-manifests = true
sign-manifests = false
Végül engedélyezze a szoftvertárolót a helyi operációs rendszeren azáltal, hogy létrehoz egy szoftvertároló beállítás fájlt a /etc/portage/repos.conf könyvtárban. Ez a fájl tájékoztatja a Portage szoftvercsomag-tárolót arról, hogy hol található az egyedi helyi szoftvercsomag-tároló hely.
/etc/portage/repos.conf/localrepo.conf
[localrepo]
location = /var/db/repos/localrepo
Több szoftvertárolóval való munka
Azok számára, akik több ebuild szoftvercsomag-tárolót szeretnének fejleszteni, szoftvercsomagokat szeretnének tesztelni, mielőtt bekerülnének a Gentoo szoftvercsomag-tárolóba, vagy nem hivatalos ebuildeket szeretnének használni különböző forrásokból, nekik a app-eselect/eselect-repository eszközöket is biztosít a szoftvercsomag-tárolók naprakészen tartásához. Részletekért tekintse meg a Eselect/Repository oldalt.
Szoftvertároló hozzáadása az eselect használatával
Például a GURU szoftvertároló engedélyezéséhez:
root #
eselect repository enable guru
Ezzel a módszerrel hozzáadott szoftvercsomag-tárolók frissítése automatikusan megtörténik minden egyes szinkronizálás alkalmával:
root #
emerge --sync
Nem a Portage szoftvercsomag-kezelő által karbantartott szoftverek
Portage használata saját karbantartású szoftverekkel
Néha a felhasználók saját maguk szeretnék egyedileg beállítani, telepíteni és karbantartani a szoftvereket anélkül, hogy a Portage automatizálná ezt a folyamatot, annak ellenére. Ismert esetek ilyen szoftvercsomagok például a kernel forráskódok és az Nvidia illesztőprogramok. Lehetőség van a Portage beállítására, hogy tudja azt, hogy egy bizonyos csomag manuálisan van telepítve a rendszeren (és így figyelembe vegye ezt az információt a függőségek kiszámításakor). Ezt a folyamatot "injektálásnak" hívják, és a Portage az eljárást támogatja a /etc/portage/profile/package.provided fájlon keresztül.
Például, ha tájékoztatni szeretné a Portage szoftvercsomag-kezelőt a manuálisan telepített gentoo-sources-6.6.21 szoftvercsomagról, akkor adja hozzá a következő sort a /etc/portage/profile/package.provided fájlhoz:
/etc/portage/profile/package.provided
A gentoo-sources-6.6.21 megjelölése manuálisan telepítettkéntsys-kernel/gentoo-sources-6.6.21
Ez egy olyan fájl, amely verziókat használ az
=
operátor nélkül.
Portage fejlett funkcióinak a bevezetése
A legtöbb olvasónak az eddig kapott információ bőven elegendő a Linux műveleteihez. Azonban a Portage szoftvercsomag-kezelő még ennél is jóval többre képes. Számos funkciója fejlett testreszabási célokra szolgál, vagy csak speciális esetekben alkalmazható.
Természetesen, a nagy rugalmasság a potenciális esetek nagyon hosszú listájával jár. Egyszerűen nem lehetséges mindet itt dokumentálni. Ehelyett a cél az, hogy néhány általános kérdésre összpontosítsunk, amelyeket aztán ki lehet egészíteni egy sajátos szakasszal. További finomhangolások és tippek, mint ezek, megtalálhatóak a Gentoo Wikipédián.
A legtöbb ezek közül a kiegészítő funkciók közül könnyen megtalálható a Portage szoftvercsomag-kezelőhöz mellékelt man súgókban:
user $
man portage
user $
man make.conf
Végül tudnia kell, hogy ezek fejlett funkciók, amelyek helytelen konfigurálása esetén a hibakeresés és a hibák elhárítása sokkal nehezebbé válhat. Ügyeljen arra, hogy az ilyen jellegű testreszabásokat kifejezetten említse meg, amikor Ön hibajelentést nyit.
Szoftvercsomagonkénti környezeti változók
Az /etc/portage/env használata
Alapértelmezés szerint a szoftvercsomagok lefordítása bináris futtatható kódra a /etc/portage/make.conf fájlban meghatározott környezeti változókat használja, mint például a CFLAGS, MAKEOPTS és mások. Bizonyos esetekben előnyös lehet különböző változókat megadni egyes szoftvercsomagok számára. Ennek érdekében a Portage támogatja a /etc/portage/env könyvtár és a /etc/portage/package.env fájl használatát.
A /etc/portage/package.env fájl tartalmaz egy listát azokról a szoftvercsomagokról, amelyekhez eltérő környezeti változók szükségesek, valamint egy specifikus azonosítót, amely jelzi a Portage számára, hogy melyik azonosító fájlt kell alkalmaznia. Az azonosítónév szabad formátumú. A Portage keresni fog egy pontosan ugyanazon névvel rendelkező, kis- és nagybetű érzékeny fájlt. Tekintse meg a következő példát további részletekért.
Példa: Hibakeresés használata konkrét szoftvercsomagok számára
A media-video/mplayer szoftvercsomag hibakeresésének az engedélyezéséhez:
Állítsa be a hibakeresési változókat egy /etc/portage/env/debug-cflags nevű fájlban. A fájl neve önkényesen választható, de természetesen a név tükrözi a fájl célját, ami később, felülvizsgálat során nyilvánvalóvá teszi, hogy miért létezik a fájl. Ha a /etc/portage/env könyvtár még nem létezik, akkor azt létre kell hozni.
root #
mkdir /etc/portage/env
/etc/portage/env/debug-cflags
Specifikus változók beállítása a hibakeresés számára.# Add -ggdb to CFLAGS for debugging
CFLAGS="-O2 -ggdb -pipe"
FEATURES="${FEATURES} nostrip"
Ezután a media-video/mplayer szoftvercsomag meg van jelölve, hogy használja az új hibakeresési azonosítót a package.env fájlban.
/etc/portage/package.env
A debug-cflags azonosító használata az mplayer szoftvercsomag számáramedia-video/mplayer debug-cflags
Bekapcsolódás az emerge folyamatba
Az /etc/portage/bashrc és a kapcsolódó fájlok használata
Amikor a Portage ebuildekkel dolgozik, egy Bash környezetet használ, amelyben különböző build-funkciókat hív meg (például src_prepare
, src_configure
, pkg_postinst
stb.). A Portage lehetővé teszi a rendszergazdák számára, hogy egy speciális Bash környezetet állítsanak be.
A speciális Bash környezet használatának előnye, hogy lehetővé teszi a hook-ok használatát az emerge folyamat minden végrehajtott lépése során. Ez megvalósítható minden emerge esetén (a /etc/portage/bashrc segítségével), vagy szoftvercsomagonkénti környezetek használatával (a korábban tárgyalt /etc/portage/env segítségével).
A Portage a fázishorgok (phase hooks) funkcióit hívja meg, ha azok definiálva vannak a /etc/portage/bashrc fájlban. Ezek a funkciók a következő névadási konvenciót követik: pre_phase_name
és post_phase_name
. Például a Portage a post_pkg_postinst
horgot hívja meg közvetlenül a pkg_postinst
fázisfunkció meghívása után.
A folyamat beillesztéséhez a Bash környezet figyelheti azokat a változókat, amelyek mindig elérhetők az ebuild fejlesztése során (mint például a CATEGORY, P, PF, ...). E változók értékei alapján további lépések és/vagy funkciók hajthatók végre.
Példa: Fájladatbázis frissítése.
Ebben a példában a /etc/portage/bashrc fájl lesz használva néhány fájladatbázis-alkalmazás meghívására annak érdekében, hogy ezek adatbázisai naprakészek legyenek a rendszerrel. A példában használt alkalmazások az aide (egy behatolás-észlelő eszköz) és az updatedb (az mlocate programmal használva), de ezek csak példaként szolgálnak. Ezt ne tekintse az AIDE útmutatójának.
/etc/portage/bashrc fájlt ebben az esetben a postinst
(a fájlok telepítése után) és a postrm
(a fájlok eltávolítása után) fázisokba kell "bekapcsolódni", mert ekkor változtak meg a fájlok a fájlrendszerben.
/etc/portage/bashrc
Bekapcsolódás a postinst és postrm fázisokbamy_database_update() {
echo ":: Calling aide --update to update its database"
aide --update
echo ":: Calling updatedb to update its database"
updatedb
}
post_pkg_postinst() { my_database_update; }
post_pkg_postrm() { my_database_update; }
Feladatok végrehajtása az ebuild szoftvertároló szinkronizálása után
Az /etc/portage/postsync.d hely használata
Az ebuild fázisokhoz való csatlakozás mellett a Portage egy másik lehetőséget is kínál a hook funkciókhoz: a postsync.d-t. Ezek a hook típusok a Gentoo ebuild szoftvercsomag-kezelő frissítése (más néven 'szinkronizálása') után futnak le. Ha feladatokat szeretne futtatni a Gentoo szoftvercsomag-kezelő frissítése után, akkor helyezze el a szkripteket a /etc/portage/postsync.d könyvtárban. Ügyeljen arra, hogy a könyvtárban található fájlok végrehajthatónak legyenek jelölve, különben nem fognak futni.
Példa: Az eix-update futtatása
Amennyiben nem a eix-sync parancs lett használva a szoftvertároló szinkronizálására, akkor továbbra is lehetőség van az eix adatbázis frissítésére a emerge --sync (vagy emerge-webrsync) parancs futtatása után, ha létrehozunk egy symlinket a /usr/bin/eix fájlra, amely eix-update néven kerül elhelyezésre a /etc/portage/postsync.d könyvtárban.
root #
ln -s /usr/bin/eix /etc/portage/postsync.d/eix-update
Ha más név kerül kiválasztásra, akkor egy olyan szkriptet kell létrehozni, amely a /usr/bin/eix-update fájlt hívja meg. Az eix bináris fájl ellenőrzi, hogyan lett meghívva annak eldöntése érdekében, hogy melyik funkciót hajtsa végre. Ha egy symlink jön létre, amely az eix-re mutat, de nem eix-update néven lett meghívva, akkor nem fog megfelelően működni.
Profilbeállítások felülbírálása
Az /etc/portage/profil beállítása
Alapértelmezés szerint a Gentoo a /etc/portage/make.profile által meghivatkozott profilban található beállításokat használja, amely egy szimbolikus hivatkozás a célprofil könyvtárra. Ezek a profilok meghatároznak specifikus beállításokat, és más profilokból (a parent fájlokon keresztül) örökölnek beállításokat.
A /etc/portage/profile használatával a rendszergazdák felülírhatják a profilbeállításokat, például a szoftvercsomagokat (mely szoftvercsomagokat tekintik az @system készlet részének), USE jelölőzászlókat kényszeríthetnek és egyebeket.
Példa: nfs-utils hozzáadása a rendszerkészlethez
Ha NFS-alapú fájlrendszereket használ kritikus fájlrendszerekhez, akkor szükség lehet arra, hogy a net-fs/nfs-utils szoftvercsomagot rendszercsomagként jelölje meg. Ez azt eredményezi, hogy a Portage erőteljesen figyelmezteti a rendszergazdákat, ha megpróbálják eltávolítani.
Ennek eléréséhez a szoftvercsomagot hozzá kell adni a /etc/portage/profile/packages fájlhoz, az elejére egy *
(csillag szimbólum) jelzéssel:
/etc/portage/profile/packages
A net-fs/nfs-utils megjelölése a rendszer szoftvercsomag jelöléssel*net-fs/nfs-utils
A nem szabványos szoftverjavítások alkalmazása
Forráskód megjavítása felhasználói szoftverjavításokkal a /etc/portage/patches/ könyvtárban
A felhasználóktól származó szoftverjavítások lehetővé teszik a szoftvercsomagok forráskódjainak a kijavítását, amikor a forráskódokat a telepítés előtt kicsomagoljuk. Ez a módszer hasznos lehet az upstream javítások alkalmazására a megoldatlan hibák számára, vagy egyszerűen a helyi testreszabások számára.
A szoftverjavításokat a /etc/portage/patches/ könyvtárba kell elhelyezni. A szoftverjavítások automatikusan alkalmazásra kerülnek a csomagneve telepítése során.
A szoftverjavítások az alábbi könyvtárak bármelyikébe elhelyezhetők:
- /etc/portage/patches/${CATEGORY}/${P}/, például /etc/portage/patches/dev-lang/python-3.3.5-r1/
- /etc/portage/patches/${CATEGORY}/${PN}/, például /etc/portage/patches/dev-lang/python-3.4.2/
- /etc/portage/patches/${CATEGORY}/${P}-${PR}/, például /etc/portage/patches/dev-lang/python-3.3.5-r0/
Példa: Szoftverjavítás alkalmazása a Firefox esetében
A www-client/firefox szoftvercsomag egyike azon csomagoknak, amely már az ebuild-en belül (esetleg implicit módon) hívta meg az eapply_user
parancsot, így nincs szükség semmi konkrét felülírására.
Ha valamilyen okból (például mert egy fejlesztő biztosított egy szoftverjavítást, és kérte annak ellenőrzését, hogy megoldja-e a jelentett hibát) szükséges a Firefox szoftverjavítása, akkor mindössze annyit kell tenni, hogy a szoftverjavítást el kell helyezni a /etc/portage/patches/www-client/firefox/ könyvtárban (érdemes lehet a teljes nevet és verziót használni, hogy a javítás ne zavarja a későbbi verziókat), majd újból létre kell hozni a futtatható Firefox szoftvercsomagot.
Warning: Display title "Gentoo Linux amd64 Kézikönyv: Munka a Portage szoftvercsomag-kezelővel" overrides earlier display title "Handbook:AMD64/Full/Portage/hu".