MASKED- ja TESTING-pakettien käyttäminen Gentoossa

Linux.fista
Versio hetkellä 29. kesäkuuta 2008 kello 16.56 – tehnyt Pb (keskustelu | muokkaukset) (Luokka:Gentoo)
Siirry navigaatioon Siirry hakuun

Portagessa olevat paketit jaetaan kahteen ryhmään: arch ja ~arch. Esimerkiksi x86- ja ~x86. ~-merkityt paketit kuuluvat testihaaraan. Siihen kuuluvat paketit on todettu toimivaksi, mutta niiden toimintaa halutaan vielä testata ennen kuin ne liitetään vakaaseen haaraan. Testing-paketit ovat usein täysin toimivia, mutta niiden asennuksessa ja erityisesti riippuvuuksissa saattaa tulla vastaan ongelmia. Testing-haaraan kannattaa siirtyä siis vasta siinä vaiheessa kun portagen käyttö on jo tuttua.

Maskatut paketit ovat kehittäjien "huonoiksi" merkitsemiä paketteja. Huonolla tarkoitetaan sitä, että paketti ei toimi vielä halutulla tavalla ja saattaa aiheuttaa järjestelmän rikkoutumisen. Package.mask:a käytetään myös myös rajoittamaan suurempien kokonaisuuksien, joita ei vielä ole riittävästi testattu, käyttöönottoa. Yleensä perustelu paketin maskaamiselle löytyy package.mask-tiedostosta profiilin alta.

/etc/portage/-hakemisto

/etc/portage/-hakemisto sisältää tiedostoja, joilla voidaan korvata kehittäjien /usr/portage/profiles/-hakemistossa antamia arvoja

Jos hakemistoa ei viela ole, se voidaan luoda komennolla

mkdir -p /etc/portage
  • package.mask - Tänne voit itse lisätä paketteja maskiin
  • package.unmask - Täältä voit kumota kehittäjien tekemät maskaukset
  • package.keywords - Tänne voit määrittää paketeille omia keyword-arvoja (arch, ~arch, -*, jne.)
  • package.use - Tänne voit määrittää paketeille omia USE-muuttujia

package.use-tiedoston käyttäminen

Jos vaikkapa halutaan, että nano tukee unicode-merkistöä, mutta muut ohjelmat eivät, lisätään package.use-tiedostoon

echo "app-editors/nano unicode" >> /etc/portage/package.use

Vastaavasti jos halutaan, että jokin tietty nanon versio (vaikkapa 1.3.10) tukee unicodea, muttei oikeinkirjoituksen tarkistamista (spell check) lisätään:

echo "=app-editors/nano-1.3.10 unicode -spell" >> /etc/portage/package.use

Näin voidaan halutessa määritellä jokaiselle paketille make.conf-tiedostosta poikkeavat USE-muuttujat.

package.*-hakemistot

Joskus pakettikohtaiset asetustiedostot tahtovat kasvaa kovin suuriksi tai on muuten tarvetta ryhmitellä niitä tarkemmin. Tällöin voidaan luoda pakettikohtaisen asetustiedoston nimellä kansio, johon voidaan sijoittaa mielivaltaisestinimettyjä tiedostoja, joiden sisältö luetaan, kuin ne olisivat yksi iso asetustiedosto.

Esimerkiksi vanhalla tavalla

echo "app-editors/nano unicode -spell" >> /etc/portage/package.use
echo "sys-kernel/gentoo-sources symlink" >> /etc/portage/package.use

tai vastaavasti ryhmiteltynä

mkdir /etc/portage/package.use
echo "app-editors/nano unicode -spell" >> /etc/portage/package.use/editors
echo "sys-kernel/gentoo-sources symlink" >> /etc/portage/package.use/kernel

Testing-haaran käyttäminen

Testing-haaran käyttäjäksi voi siirtyä kahdella tavalla:

Koko järjestelmä:

# Muokkaa /etc/make.conf
ACCEPT_KEYWORDS="~arch"

Testing-haaraan siirtyminen esimerkiksi vain x86-alustalla

# Muokkaa /etc/make.conf
ACCEPT_KEYWORDS="~x86" 

Yksittäisissä paketeissa:

echo "<paketti> ~arch" >> /etc/portage/package.keywords

Merkitään esimerkiksi gcc Testingiin x86-alustalla

echo "sys-devel/gcc ~x86" >> /etc/portage/package.keywords

Keywordin voi antaa myös komentorivillä ohjelman asennuksen yhteydessä, mutta tämä voi aiheuttaa ongelmia päivityksen yhteydessä. Portage toisaalta palauttaa uusimman sallitun pysyvän avainsanan antaman ebuildin seuraavassa päivityksessä, joten tämä vaihtoehto on useimmiten hyödytön.

ACCEPT_KEYWORDS="~x86" emerge mplayer

Maskatut paketit

Maskattujen pakettien asentaminen

Paketin poistaminen maskista on helppoa:

echo "<paketti>" >> /etc/portage/package.unmask

Esimerkiksi GCC-4.1:n unmaskaus:

echo "=sys-devel/gcc-4.1" >> /etc/portage/package.unmask

Paketin maskaaminen itse

Jos jokin paketti ei jostain syystä suostu toimimaan koneellasi tai jostakin muusta syystä haluat estää sen asentamisen, voit itse lisätä sen maskiin.

echo "<paketti>" >> /etc/portage/package.mask

Esimerkiksi amarok-1.4.0a:n maskaus:

echo "=media-sound/amarok-1.4.0a" >> /etc/portage/package.mask