Upozornění :
Tento dokument již neplatí a není udržován.
|
[ << ]
[ < ]
[ Domů ]
[ > ]
[ >> ]
2. USE proměnné
Obsah:
2.a. Co jsou USE proměnné?
Proč USE proměnné
Při instalaci Gentoo (nebo jakékoli jiné distribuce, a dokonce i jakéhokoli
operačního systému) činíte volby závisející na prostředí, se kterým
pracujete. Nastavení pro server je jiné než nastavení pro pracovní stanici.
Stanice určená pro hry je jiná než stanice pro renderování 3D grafiky.
Tyto volby se nevztahují jenom na výběr balíčků, ale týkají se i vlastností,
které by měl daný balíček poskytovat. Nebudete-li používat OpenGL, nač ho
instalovat a proč aktivovat jeho podporu v jiných balíčcích? Nechcete-li
používat KDE, proč byste měli aktivovat jeho podporu v balíčcích, které
bezchybně fungují i bez ní?
Abychom uživatelům usnadnili rozhodování co aktivovat a co ne, chceme od nich,
aby jednoduše specifikovali své prostředí. To je přiměje k tomu, že si
rozmyslí, co vlastně potřebují, a umožní Portage, našemu systému pro správu
balíčků, užitečné rozhodování.
Definice USE proměnné
Vítejte do USE proměnných. Tyto proměnné (USE flags) jsou klíčová slova
obsahující podporu a informace o závislosti pro konkrétní oblast. Když definujete
nějakou USE proměnnou, dáváte tím Portage vědět, že chcete podporu pro danou
funkci. To samozřejmě ovlivní závislosti balíčků.
Pojďme se podívat na konkrétní příklad - klíčové slovo kde. Pokud jej
nemáte v proměnné USE, všechny balíčky, které mají volitelnou
podporu pro KDE budou zkompilovány bez ní. Balíčky, které mají KDE
uvedeno jako volitelnou závislost, nebudou instalovat knihovny
z KDE. Naopak přidáte-li kde do USE proměnné, budou tyto
balíčky zkompilovány s podporou KDE a knihovny z tohoto prostředí
budou nainstalovány jako závislosti.
Správným nastavením této proměnné dostanete systém ušitý na míru Vaším potřebám.
Jaké USE proměnné existují?
Jsou dva druhy USE proměnných - globální a lokální.
-
Globální USE proměnnou používá více balíčků z celého systému.
Tento druh USE proměnných je to, čemu většina lidí říká USE proměnné.
-
Lokální USE proměnné jsou používané jedním balíčkem pro rozhodnutí,
která se týkají pouze jej samotného.
Seznam dostupných globálních USE proměnných je k dispozici na webu nebo na Vašem systému v souboru
/usr/portage/profiles/use.desc.
Seznam dostupných lokálních USE proměnných je v nainstalovaném systému
dostupný v souboru /usr/portage/profiles/use.local.desc.
2.b. Používáme USE proměnné
Deklarace stálých USE proměnných
Doufejme, že jste již přesvědčeni o důležitosti USE proměnných; nyní Vám
ukážeme, jak je používat.
Jak jsme již zmínili, USE flagy se nastavují v proměnné USE. Abychom
usnadnili uživatelům život, existují výchozí nastavení USE, která
reflektují to, co si myslíme, že bude používat většina uživatelů Gentoo Linuxu.
Tato výchozí nastavení jsou deklarována v souboru
make.defaults a jsou součást profilu.
Profil, kterým se Váš systém řídí, je určen symbolickým odkazem
/etc/make.profile. Konečné nastavení je kombinací celého stromu
profilů, z nichž hlavní se jmenuje base
(/usr/portage/profiles/base).
Podívejme se na výchozí nastavení pro profil 2004.3:
Výpis kódu 2.1: Celkové nastavení proměnné USE pro profil 2004.3 |
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"
|
Jak vidíte, poměrně hodně klíčových slov je již aktivních. Neměňte
žádná nastavení v souboru make.defaults - změny v tomto
souboru budou potlačeny při aktualizaci Portage.
Chcete-li změnit tato výchozí nastavení, musíte změnit proměnnou USE. Celý
systém ovlivní její nastavení v souboru /etc/make.conf.
USE proměnné můžete přidávat i odebírat; odstranění se provádí přidáním znaménka
mínus ("-") před dané klíčové slovo.
Například pro odstranění podpory KDE a QT a zároveň aktivaci podpory pro LDAP
nastavte USE v souboru /etc/make.conf takto:
Výpis kódu 2.2: Ukázka nastavení USE proměnné v /etc/make.conf |
USE="-kde -qt ldap"
|
Individuální nastavení USE proměnných
Někdy je potřeba nastavit USE proměnnou pro jeden (nebo více) balíčků, avšak ne
pro celý systém. V takovém případě musíte vytvořit adresář
/etc/portage (pokud ještě neexistuje) a použít soubor
/etc/portage/package.use.
Například nechcete-li mít většinu systému zkompilovanou s podporou
berkdb, avšak chcete ji používat v mysql, měli byste přidat:
Výpis kódu 2.3: Ukázka /etc/portage/package.use |
dev-db/mysql berkdb
|
Je také možné danou USE proměnnou pro daný balíček zakázat. Například
pokud nechcete mít aktivovanou java v PHP:
Výpis kódu 2.4: Druhý příklad /etc/portage/package.use |
dev-php/php -java
|
Dočasná nastavení USE proměnných
Někdy můžete chtít nastavit určitou USE proměnnou pouze jednou. Namísto
dvojnásobné editace /etc/make.conf (nejprve změna nastavení a poté
uvedení do původního stavu) můžete použít USE jako proměnnou prostředí. Avšak
pamatujte, že při aktualizaci dané aplikace (ať už explicitně jí samotné a nebo
při aktualizaci systému) o svá nastavení přijdete!
Jako příklad dočasně zakážeme Javu během instalace Mozilly.
Výpis kódu 2.5: Použití USE jako proměnné prostředí |
# USE="-java" emerge mozilla
|
Přednosti
Nastavení USE proměnných se řídí určitými pravidly o přednosti. Například může
být zbytečné deklarovat USE="-java" jen abyste zjistili, že je definovaná
jinde a s vyšší prioritou. USE proměnné jsou zpracovávány v tomto
pořadí (počínaje nejnižší prioritou):
-
výchozí nastavení USE deklarované v souboru make.defaults
uvnitř profilu
-
uživatelem definovaná nastavení v /etc/make.conf
-
uživatelem definovaná nastavení v /etc/portage/package.use
-
uživatelem definovaná nastavení předaná jako proměnná prostředí
Pro zobrazení výsledných nastavení USE proměnných spusťte emerge --info;
tato volba zajistí zobrazení všech proměnných, které Portage použije, včetně
USE.
Výpis kódu 2.6: Zobrazení emerge --info |
# emerge --info
|
Promítnutí změn USE proměnných do systému
Změnili-li jste nastavení USE proměnných a přejete-li si, aby se tyto změny
promítly do systému, použijte volbu --newuse příkazu emerge:
Výpis kódu 2.7: Rebuild systému |
# emerge --update --deep --newuse world
|
Nyní spusťte depclean (součást Portage), který odstraní závislosti, které již
nejsou kvůli změněným USE proměnným potřeba.
Varování:
Spouštění emerge --depclean je nebezpečná operace a měli byste na ní dát
pozor. Překontrolujte, zda jsou "zbytečné" balíčky opravdu zbytečné, abyste si
neodstranili něco, co potřebujete. V následujícím příkladu přidáme parametr
-p, který zajistí, že depclean pouze vypíše seznam balíčků, aniž by je
odstranil.
|
Výpis kódu 2.8: Odstranění nepotřebných balíčků |
# emerge -p --depclean
|
Až depclean skončí, spusťte revdep-rebuild pro nový překlad aplikací, jež
jsou dynamicky linkované se sdílenými objekty patřícími možná odstraněným
balíčkům. revdep-rebuild je součástí balíčku gentoolkit;
nezapomeňte si ho nejprve nainstalovat.
Výpis kódu 2.9: Spuštění revdep-rebuild |
# revdep-rebuild
|
Až toto vše proběhne, bude Váš systém používat nová nastavení USE proměnných.
2.c. USE proměnné pro specifické pro balíčky
Zobrazení dostupných USE proměnných
Podívejme se kupříkladu na Mozillu - jaké USE proměnné ji ovlivní? Pro jejich
zobrazení předejte emerge parametry --pretend a --verbose:
Výpis kódu 3.1: Zobrazení použitých USE proměnných |
# emerge --pretend --verbose mozilla
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] www-client/mozilla-1.7.12-r2 USE="crypt gnome java mozsvg ssl
truetype xprint -debug -ipv6 -ldap -mozcalendar -mozdevelop -moznocompose
-moznoirc -moznomail -moznoxft -postgres -xinerama" 0 kB
|
emerge není jediný nástroj vhodný k tomuto účelu.
Ve skutečnosti existuje nástroj pro informace o balíčcích jménem
equery, který je opět součástí balíčku gentoolkit. Nejprve jej
tedy nainstalujme:
Výpis kódu 3.2: Instalace gentoolkitu |
# emerge gentoolkit
|
Nyní spusťte equery s argumentem uses, což zobrazí přehled
USE proměnných používaných daným balíčkem. Kupříkladu pro balíček
gnumeric:
Výpis kódu 3.3: Použití equery pro přehled aktivních USE proměnných |
# equery uses gnumeric
[ Colour Code : set ]
[ Legend : (U) Col 1 - Current USE flags ]
[ : (I) Col 2 - Installed With USE flags ]
U I [ Found these USE variables in : app-office/gnumeric-1.2.0 ]
- - : Adds GNU Data Access (CORBA wrapper) support for gnumeric
- - : unknown
+ + python : Adds support/bindings for the Python language
+ + bonobo : Adds support for gnome-base/bonobo (Gnome CORBA interfaces)
|
[ << ]
[ < ]
[ Domů ]
[ > ]
[ >> ]
Obsah tohoto dokumentu je licencován pod licencí Creative Commons -
Attribution / Share Alike.
|