Visszavonások :
Ez a dokumentum már nem érvényes, ezért nincs többé karbantartva.
|
[ << ]
[ < ]
[ Kezdőlap ]
[ > ]
[ >> ]
2. USE flagek
Tartalom:
2.a. Mik is azok a USE flagek?
A USE flagek mögötti eszme
Mikor Gentoot telepítesz (vagy bármilyen más disztribúciót, vagy bármit ami
operációs rendszer) döntened kell a függőségekről, amelyek az éppen használt
környezettől függenek. Egy kiszolgáló beállításai különböznek egy
munkaállomásétól. Egy játékra használt munkaállomás beállításai különböznek
egy 3D renderelésre használt munkaállomásétól.
Nem csak a telepíteni kívánt csomagok kiválasztására van lehetőséged, hanem az
egyes csomagok szolgáltatásainak kiválogatására is. Ha nincs szükséged OpenGL-
re, miért nyaggatnád az OpenGL-t és építenéd be támogatását a legtöbb csomagba?
Ha nem akarsz KDE-t használni, miért törődnél a KDE-vel és fordítanád a
csomagokat KDE támogatással, ha azok hibátlanul futnak nélküle is?
Hogy segítsünk eldönteni a felhasználónak, hogy mit telepítsen/engedélyezzen és
mit ne, szükséges, hogy a felhasználó meghatározza a használt környezetet.
Emiatt a felhasználó eldöntheti, hogy eldöntse mi az amit tényleg akar és
megkönnyíti a folyamatot a Portage ( a csomagkezelő rendszer ) számára, hogy
megfelelő munkát végezzen.
USE flag definiálása
Nézzük a USE flageket. A zászló egy kulcsszó, ami magába foglalja a támogatási
és a függőségi-információkat az egyes fogalmakról. Ha definiálsz egy USE
flaget, a Portage tudni fogja, hogy támogatást kérsz a kiválasztott
kulcsszóval. Természetesen ez módosítja egy adott csomag
függőségi-információit is.
Vegyünk akkor egy konkrét példát: a kde flaget. Ha ez a kulcsszó
nincs benne a USE változódban, minden csomag ami rendelkezik
választható KDE támogatással, KDE támogatás nélkül fog
lefordulni. Minden csomag aminek választható KDE függősége van a KDE
függvénykönyvtárak (mint függőség) telepítése nélkül lesz telepítve. Ha
defináltad a kde flaget, akkor az adott csomagok KDE támogatással
lesznek lefordítva, valamint függőségként települni fognak a KDE
függvénykönyvtárak.
Jól definiált flagekkel egy a saját igényeidnek megfelelő rendszert fogsz
kapni.
Milyen USE flagek léteznek?
A USE flageknek két fajtája van: globális és lokális.
-
A globális USE flaget minden csomag használni fogja,
rendszerszintűen. Ezt látja a legtöbb felhasználó USE flagekként.
-
A lokális USE flaget csak egy adott csomag használja, amivel
csomagszintű függőségek alakíthatóak ki.
Egy lista olvasható az elérhető globális változókról
itt vagy a gépeden
/usr/portage/profiles/use.desc.
Egy lista olvasható az elérhető lokális változókról a gépeden
/usr/portage/profiles/use.local.desc.
2.b. USE flagek használata
Állandó USE flagek megadása
Abban a reményben, hogy megértetted milyen fontosak a USE-flagek, eláruljuk
neked hogyan kell őket megadni.
Ahogy azt már az előzőekben említettük, minden USE flag a USE
változóban van megadva. Hogy egyszerűbbé tegyük a USE flagek keresését és
kiválasztását, már biztosítottunk egy alapértelmezett USE beállítást. Ez
a beállítás egy USE-zászló gyűjtemény amikről úgy gondoljuk, hogy egy Gentoo
felhasználónak hasznosak. Ez az alapértelmezett beállítás a
make.defaults fájlokban van, ami a profilod része.
A rendszered profilja a /etc/make.profile link alatt található. Az
egyes profilok egymás felett működnek, aminek eredményeképpen a profilok
összege jön létre. A legfelső profil a base profil
(/usr/portage/profiles/base).
Nézzük meg a 2004.3 alapértelmezett profilját:
Kódlista 2.1: A 2004.3 make.defaults USE változóinak összesítése |
USE="x86 oss apm arts avi berkdb bitmap-fonts crypt cups encode fortran f77
foomaticdb gdbm gif gpm gtk imlib jpeg kde gnome libg++ libwww mad
mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt
quicktime readline sdl spell ssl svga tcpd truetype X xml2 xmms xv zlib"
|
Amint látod, a változó már meglehetősen sok kulcsszót tartalmaz. Ne
módosítsd egyik make.defaults fájlt sem hogy megadd a szükséges
USE változókat: ezen fájlok változásai nem lesznek alkalmazva a Portage
frissítésekor!
Az alapértelmezett beállítások megváltoztatásához, a USE változót kell
módosítanod a szükséges flagek hozzáadásával vagy törlésével. A USE
változót a /etc/make.conf fájlban adhatod meg, amely globális
érvényű lesz. Ebben a fájlban megadhatsz a további USE flageket, vagy
eltávolíthatod a feleslegeseket. Ez utóbbi egy minusz jel ("-") használatával
lehetséges.
Például, hogy eltávolítsd a KDE és QT támogatást, valamint hozzáadd az ldap
támogatást, a következő USE zászlókat kell megadnod a
/etc/make.conf fájlban:
Kódlista 2.2: Egy példa USE beállítás a /etc/make.conf fájlban |
USE="-kde -qt3 -qt4 ldap"
|
USE flagek megadása egyéni csomagokhoz
Néha szükséged lehet néhány USE flagre egy (vagy több) alkalmazáshoz, de nem
rendszerszintűen. Hogy ezt megtedd, létre kell hoznod a
/etc/portage könyvtárat (ha még nem létezne) és szerkesztened kell
a /etc/portage/package.use fájlt.
Például, ha nem akarsz rendszerszintű berkdb támogatást, de a
mysql csomaghoz igen, írd be a következőt:
Kódlista 2.3: /etc/portage/package.use példa |
dev-db/mysql berkdb
|
Természetesen le is tilthatod USE zászlók használatát az egyes
csomagokhoz. Például nincs szükséged java támogatásra a PHP-ben:
Kódlista 2.4: /etc/portage/package.use második példa |
dev-php/php -java
|
Ideiglenes USE flagek létrehozása
Lehetőséged vagy egy-egy USE-zászló egyszeri használatára. A
/etc/make.conf kétszeri (beírás és törlés) szerkesztése nélkül is
hozzáadhatsz USE-változókat a környezeti változóidhoz. Emlékezz erre, mikor
újratelepíted vagy frissíted egy-egy alkalmazásodat, mert ezek a beállítások
addigra elvesznek!
Például, a seamonkey telepítésének idejére eltávolítjuk a java támogatást a
USE változóból.
Kódlista 2.5: USE használata környezeti változóként |
# USE="-java" emerge seamonkey
|
Elsőbbség
Természetesen van némi elsőbbségi szabály a USE beállításokban. Nem akarod
mindig megadni a USE="-java" beállítást csak mert egy java
magasabb prioritású beállításban szerepel. A USE beállítások elsőbbségi
szintjei a következők: (az első a legkisebb prioritású):
-
Alapértelmezett USE beállítások a make.defaults fájlban a
profilod részeként
-
Felhasználó által megadva a /etc/make.conf fájlban
-
Felhasználó által megadva /etc/portage/package.use fájlban
-
Felhasználó által megadva környezeti változóként
Hogy megnézd a végső USE beállításokat, úgy ahogy a Portage látja,
futtasd az emerge --info parancsot. Ez kilistáz minden fontosabb
változót (beleértve a USE változót) amit a Portage használ.
Kódlista 2.6: Az emerge --info futtatása |
# emerge --info
|
Teljes rendszerre alkalmazott új USE flagek
Ha megváltoztattad a USE flagjeidet és frissíteni akarod a teljes rendszert az
új USE flagek felhasználásával, használd az emerge --newuse
opcióját:
Kódlista 2.7: A teljes rendszer újraépítése |
# emerge --update --deep --newuse world
|
Ezután, futtasd a Portage depclean részét, hogy eltávolítsd azokat a
csomagokat, amik a "régi" rendszer függőségeiként települtek, de szükségtelenné
váltak az új USE flagek használatával.
Figyelmeztetés:
Az emerge --depclean végrehajtása veszélyes művelet, ezért óvatosan bánj
vele. Jól nézd meg az "elavult" csomagok listáját, hogy meggyőződj arról, nem
törlődik szükséges csomag. A következő példában használjuk -p kapcsolót,
ezáltal csak a lista jelenik meg, semmi nem kerül eltávolításra.
|
Kódlista 2.8: Elavult csomagok eltávolítása |
# emerge -p --depclean
|
Amikor a depclean lefutott, futtasd a revdep-rebuild parancsot, amivel
újrafordulnak azok az alkalmazások, amelyek dinamikusan linkelve lettek az
eltávolított csomagok függvénykönyvtáraira. A revdep-rebuild a
gentoolkit csomag része; ne felejtsd el telepíteni.
Kódlista 2.9: A revdep-rebuild futtatása |
# revdep-rebuild
|
Mikor mindezekkel végeztél, a rendszered az új USE flagek beállításaival fog
üzemelni.
2.c. Csomagspecifikus USE flagek
Elérhető USE flagek
Vegyük példának a seamonkey csomagot: milyen USE flageket használ?
Hogy megtudd, használd az emerge a --pretend és --verbose
opciókkal:
Kódlista 3.1: A használt USE flagek megtekintése |
# emerge --pretend --verbose seamonkey
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] www-client/seamonkey-1.0.7 USE="crypt gnome java -debug -ipv6
-ldap -mozcalendar -mozdevelop -moznocompose -moznoirc -moznomail -moznopango
-moznoroaming -postgres -xinerama -xprint" 0 kB
|
Nem az emerge az egyetlen eszköz erre a feladatra. Valójában, van egy
eszköz ami csomaginformációk lekérdezésére használható. Ez az equery ami
a gentoolkit csomag részeként érhető el. Először, telepítsük a
gentoolkit csomagot:
Kódlista 3.2: A gentoolkit telepítése |
# emerge gentoolkit
|
Most futtassuk az equery parancsot a uses argumentummal, hogy egy
csomag USE flagjeit megtekintsük. Legyen ez most a gnumeric csomag:
Kódlista 3.3: equery használata USE flagek megtekintésére |
# equery --nocolor uses =gnumeric-1.6.3 -a
[ Searching for packages matching =gnumeric-1.6.3... ]
[ Colour Code : set unset ]
[ Legend : Left column (U) - USE flags from make.conf ]
[ : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for app-office/gnumeric-1.6.3 ]
U I
- - debug : Enable extra debug codepaths, like asserts and extra output.
If you want to get meaningful backtraces see
http://www.gentoo.org/proj/en/qa/backtraces.xml .
+ + gnome : Adds GNOME support
+ + python : Adds support/bindings for the Python language
- - static : !!do not set this during bootstrap!! Causes binaries to be
statically linked instead of dynamically
|
[ << ]
[ < ]
[ Kezdőlap ]
[ > ]
[ >> ]
Ez a dokumentum a Creative Commons -
Attribution / Share Alike licensz védelme alatt áll.
|