Gentoo Logo

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

(Ez a példa a base, default-linux, default-linux/x86
és a default-linux/x86/2004.3 ö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ú):

  1. Alapértelmezett USE beállítások a make.defaults fájlban a profilod részeként
  2. Felhasználó által megadva a /etc/make.conf fájlban
  3. Felhasználó által megadva /etc/portage/package.use fájlban
  4. 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 ] [ > ] [ >> ]


Nyomtatás

View all

Frissítve 2007. július 4.

Ezen dokumentum eredeti változatának utolsó frissítési dátuma 2013. december 18.

Összefoglaló: A USE flagek nagyon fontos részét képezik a Gentoo-nak. Ebből a fejezetből megtudhatod hogyan használd őket és a rendszeredre gyakorolt hatásukat is megértheted.

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.