Gentoo Logo

[ << ] [ < ] [ Etusivu ] [ > ] [ >> ]


2. USE-asetukset

Sisällysluettelo:

2.a. Mitä USE-asetukset ovat?

USE-asetusten tarkoitus

Gentoota (kuten muita distroja tai käyttöjärjestelmiäkin) asennettaessa tehdään valintoja käyttöympäristön mukaan. Palvelimen asetukset ovat erilaiset kuin työaseman ja pelikone näyttää erilaiselta kuin 3D-kehittäjän kone.

Tämä vaikuttaa paitsi asennettuihin paketteihin myös pakettien ominaisuuksiin. Jos OpenGL:lle ei ole tarvetta, ei varmaankaan ole järkevää pitää kaikissa sovelluksissa OpenGL-tukea mukana. Jos KDE ei ole käytössä, et varmasti myöskään halua kääntää KDE-tukea mukaan paketteihin, jotka eivät välttämättä sitä tarvitse.

Auttaaksemme käyttäjiä valitsemaan asennettavat paketit ja aktivoitavat toiminnallisuudet haluamme käyttäjän määrittelevän käyttöympäristönsä yksinkertaisella tavalla. Käyttäjän tarvitsee valita mitä haluaa helpottaakseen Portagea, paketinhallintajärjestelmäämme, tekemään järkeviä päätöksiä.

USE-asetusten määritelmä

Tutustukaamme USE-asetuksiin. Jokainen asetus on totuusarvoinen avainsana joka sisältää tiedon jonkin käsitteen tuista ja riippuvuuksista. Valitessasi USE-asetuksen kerrot Portagelle haluavasi tuen avainsanan tarkoitteelle. Tämä tietenkin vaikuttaa paketin riippuvuustietoihinkin.

Tarkastelkaamme asioita esimerkin kde avulla. Jollei tätä avainsanaa ole määritetty USE-muuttujissasi, kaikki paketit joissa on valinnainen KDE-tuki kääntyvät ilman sitä. Samoin kaikki paketit jotka vaihtoehtoisesti ovat riippuvaisia KDE:stä jättävät KDE:n vaihtoehtoiset kirjastoriipuvuudet asentamatta. Jos taas kde-avainsana on määritelty, KDE-tuki käännetään mukaan ja KDE-kirjastot asennetaan riippuvuuksien mukaan.

Oikein määritellyillä avainsanoilla saadaan aikaan järjestelmä joka on tarkalleen räätälöity tarpeitasi varten.

Mitä USE-asetuksia on olemassa?

USE-asetuksia on kahta lajia: globaaleja ja paikallisia.

  • Globaalit USE-asetukset ovat useampien pakettien käytössä järjesetelmänlaajuisesti. Näitä useimmat käyttäjät pitävät USE-asetuksin.
  • Paikalliset USE-asetukset ovat vain yhden paketin käytössä pakettikohtaisia asetuksia varten.

Listaus käytössä olevista USE-asetuksista on saatavilla verkosta tai paikallisen järjestelmän tiedostosta /usr/portage/profiles/use.desc.

Luettelo paikallisista USE-asetuksista on tiedostossa /usr/portage/profiles/use.local.desc.

2.b. USE-asetusten käyttäminen

Pysyvien USE-asetusten määritteleminen

Nyt kun olet toivottavasti vakuuttunut USE-asetusten tärkeydestä, opastamme USE-asetusten määrittelyssä.

Kuten aiemmin huomattiin, USE-asetukset määritellään USE-muuttujaan. Helpottaaksemme käyttäjien tehtävää USE-asetusten valinnassa olemme valmiiksi tarjonneet oletusasetuksia. Oletusasetuksiin on valittu kokoelma USEja joita uskomme valtaosan Gentoon käyttäjistä käyttävän. Nämä oletukset löytyvät profiilihakemistojen tiedostoista make.defaults. 2004.3 asetukset näyttivät tältä:

Koodilistaus 2.1: /usr/portage/profiles/default-linux/x86/2004.3/make.defaultsin koottu USE-muuttuja

(Tämä esimerkki saattaa olla muuttunut sen ottamisen jälkeen)
USE="x86 oss apm arts avi berkdb crypt cups encode foomaticdb gdbm gif gpm gtk
     imlib jpeg kde gnome libg++ libwww mad mikmod motif mpeg ncurses nls
     oggvorbis opengl pam pdflib png python qt3 qt4 quicktime readline sdl slang
     spell ssl svga tcpd truetype X xml2 xmms xv zlib"

Voinet huomata että muuttujaan on jo määritelty aika monia avainsanoja. Älä käytä mitään tiedostoja make.defaults muuttaaksesi USE-asetuksia; nämä muutokset häviävät Portagen päivitysten mukana!

Oletusasetusten muuttaamiseksi tulee poistaa avainsanoja USE-muuttujasta. Järjestelmänlaajuisesti tämän voi tehdä muuttamalla USE-muuttujaa tiedostossa /etc/make.conf. Tähän muuttujaan voi lisätä tarvittuja USE-asetuksia tai poistaa niitä joita ei haluta, poistaminen tapahtuu lisäämällä miinus ’-’ avainsanan eteen.

Jos esimerkiksi halutaan poistaa KDE- ja QT-tuki mutta lisätä ldap, merkitään USE-muuttuja tiedostoon /etc/make.conf seuraavasti:

Koodilistaus 2.2: Esimerkki USE-asetuksesta tiedostossa /etc/make.conf

USE="-kde -qt3 -qt4 ldap"

USE-asetusten määrittely pakettikohtaisesti

Joskus on järkevää määritellä jokin USE-asetus vain muutamalle paketille, muttei suinkaan kaikille. Tällöin on parasta luoda hakemisto /etc/portage, jollei sitä ole vielä, ja lisätä hakemistoon tai tiedostoon /etc/portage/package.use. Lisätietoja tästä löytyy ohjesivulta man portage. Seuraavat esimerkit olettavat package.use-tiedoston.

Koodilistaus 2.3: /etc/portage/package.usen paikallinen asetuslisäys

dev-db/mysql berkdb

On myös mahdollista poistaa joitain USE-asetuksia pakettikohtaisesti, esimerkiksi poistetaan java PHP:stä:

Koodilistaus 2.4: /etc/portage/package.usen paikallinen asetuspoisto

dev-php/php -java

Väliaikaisten USE-asetusten tekeminen

Joskus on tarve käyttää USE-muuttujaa vain kerran. Sen sijaan että tässä tapauksessa joutuisi muokkaamaan tiedostoa /etc/make.conf kahdesti (asetuksen lisäämiseksi ja poistamiseksi), voidaan USE-muuttuja määritellä ympäristömuuttujana.

Esimerkkinä poistamme hetkellisesti javan USE-asetuksista Mozillan asentamisen ajaksi.

Koodilistaus 2.5: USEn käyttäminen ympäristömuuttujalla

# USE="-java" emerge seamonkey

Tärkeysjärjestys

Tietenkin näillä eri USE-muuttujilla on tietty prioriteettijärjestys, eikä ole järkevää sanoa USE="-java" vain nähdäkseen että java kuitenkin on päällä korkeampiarvoisen asetuksen takia. Asetukset luetaan siis seuraavassa tärkeysjärjestyksessä (ensimmäisenä vähiten tärkeä):

  1. Oletusasetukset profiilin tiedostoissa make.defaults
  2. käyttäjän määrittelemät asetukset tiedostossa /etc/make.conf
  3. käyttäjän määrittelemät USE-asetukset ympäristömuuttujassa.

Nähdäksesi lopullisen USEn muodon käytä komentoa emerge info. Se antaa listauksen kaikista Portagelle merkittävistä muuttujista (ml. USE-asetukset) nykyisine sisältöineen.

Koodilistaus 2.6: emerge infon suorittaminen

# emerge --info

Järjestelmä mukauttaminen uusiin USE-asetuksiin

Kokonainen järjestelmä pystytään päivittämään vastaamaan täysin muutettuja USE-asetuksia emergen valitsimella --newuse:

Koodilistaus 2.7: Järjestelmän uudelleenkääntäminen

# emerge --update --deep --newuse world

Seuraavaksi Portagen depclean-toiminnolla poistetaan ne vaihtoehtoiset riippuvuudet mitkä kuuluivat vanhaan järjestelmääsi mutta eivät sisälly nykyisiin USE-asetuksiin.

Varoitus: emerge depclean on vaarallinen komento ja sitä käytettäessä on noudatettava varovaisuutta. Varmista että annettu lista "vanhentuneista" paketeista ei sisällä paketteja jotka ovatkin tarpeellisia. Seuraavassa esimerkissä käytetään valitsinta -p listauksen tuottamiseen ilman varsinaista poistotoimintoa.

Koodilistaus 2.8: Vanhentuneiden pakettien poisto

# emerge -p --depclean

Depclean-toiminnon loputtua päivitä dynaamisesti äskettäin päivittyneitä kirjastoja vastaan linkittyvät sovellukset komennolla revdep-rebuild. Tämä komento on osa gentoolkit-pakettia, joten se pitää tietenkin asentaa ennen käyttämistä.

Koodilistaus 2.9: Revdep-rebuildin suorittaminen

# revdep-rebuild

Tämän jälkeen järjestelmä onkin täysin tuoreiden USE-asetusten mukainen.

2.c. Pakettikohtaiset USE-asetukset

Mahdollisten USE-asetusten tarkastelu

Otetaan esimerkiksi seamonkey, mitä USE-asetuksia se totteleekaan? Selvittääksemme annamme komennolle emerge valitsimet --pretend (teeskentelemme asennusta tekemättä mitään) ja --verbose (katselemme monisanaista tulostetta):

Koodilistaus 3.1: USE-asetusten katselu

# emerge --pretend --verbose seamonkey
These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild  N    ] net-www/seamonkey-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

emergen lisäksi on myös muita työkaluja tätä varten. Itse asiassa equery on jopa pääasiallisesti tarkoitettu pakettien tiedon tarkasteluun. Se sijaitsee gentoolkit-paketista. Ensin siis asennetaan gentoolkit:

Koodilistaus 3.2: gentoolkitin asennus

# emerge gentoolkit

Komento equery argumentilla uses näyttää nyt annetun paketin USE-muuttujat. Esimerkiksi katsomme gnumericia:

Koodilistaus 3.3: Using equery to view used USE-flags

# 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

[ << ] [ < ] [ Etusivu ] [ > ] [ >> ]


Tulostettava muoto

Näytä kaikki

Tämä sivu on viimeksi päivitetty 6. heinäkuuta 2008

Tätä käännöstä ei enää ylläpidetä

Tiivistelmä: Use-asetukset ovat erittäin tärkeä osa Gentoota. Tässä kappaleessa opit käyttämään USE-asetuksia ja ymmärtämään niiden vuorovaikutus järjestelmään.

Sven Vermeulen
Tekijä

Joshua Saddler
Tekijä

Daniel Robbins
Tekijä

Chris Houser
Tekijä

Jerry Alexandratos
Tekijä

Seemant Kulleen
Gentoon x86-kehittäjä

Tavis Ormandy
Gentoon alpha-kehittäjä

Aron Griffis
Gentoon alpha-kehittäjä

Brad House
Gentoon AMD64-kehittäjä

Guy Martin
Gentoon HPPA-kehittäjä

Pieter Van den Abeele
Gentoon PPC-kehittäjä

Joe Kallar
Gentoon SPARC-kehittäjä

Shyam Mani
Toimittaja

John P. Davis
Toimittaja

Pierre-Henri Jondot
Toimittaja

Eric Stockbridge
Toimittaja

Rajiv Manglani
Toimittaja

Jungmin Seo
Toimittaja

Stoyan Zhekov
Toimittaja

Jared Hudson
Toimittaja

Colin Morey
Toimittaja

Jorge Paulo
Toimittaja

Carl Anderson
Toimittaja

Jon Portnoy
Toimittaja

Zack Gilburd
Toimittaja

Jack Morgan
Toimittaja

Benny Chuang
Toimittaja

Erwin
Toimittaja

Joshua Kinard
Toimittaja

Xavier Neys
Toimittaja

Grant Goodyear
Katselmoija

Gerald J. Normandin Jr.
Katselmoija

Donnie Berkholz
Katselmoija

Ken Nowack
Katselmoija

Lars Weiler
Kirjoittaja

Flammie Pirinen
Vastuullinen kääntäjä

Jouni Hätinen
Käännöksen laatutarkistaja

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.