MASKED- ja TESTING-pakettien käyttäminen Gentoossa
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