Gentoo
Gentoo on lähdekoodiin perustuvista jakeluista laajimmalle levinnyt. Valtaosassa jakeluista ohjelmien asentaminen tapahtuu siten että asennusmedialta haetaan valmis paketti. Tämä valmis paketti puretaan, jolloin sen sisältämät tiedostot sijoittuvat oikeille paikoilleen järjestelmässä. Gentoo on rakennettu sen ajatuksen pohjalta että asennusmedialta haetaan asennettavan paketin lähdekoodi.
Yleistä
Haettu lähdekoodi puretaan väliaikaiseen hakemistoon, jossa se käännetään konekieliseksi. Menetelmä avaa käyttäjälle lukuisia tapoja hallita kääntämisprosessia ja kääntämisen tuloksena syntyvän ohjelman ominaisuuksia.
Gentoon paketinhallinta on nimeltään portage.
Julkaisutahti
Gentoo on jatkuvasti päivittyvä linux-jakelu. Uusia paketteja ja versioita tulee käyttäjien saataville päivittäin. Vakauden ja riittävän testauksen varmistamiseksi paketit jaetaan kolmeen ryhmään. Paketin uuden version tullessa saataville se lisätään joko estettyjen (masked) tai testattavien (testing) joukkoon.
Jos paketin kehittäjä pitää pakettia kehitysversiona, eikä oleta sen toimivan normaalisti, tai paketin tiedetään varmasti toimivan puutteellisesti, siitä yleensä tulee estetty. Estettyjä paketteja voi asentaa ainoastaan mainitsemalla ne erikseen tiedostossa /etc/portage/package.unmask
Jos paketilla on potentiaalia tulla vakaasti toimivaksi, se merkitään testausajaksi symbolilla ~ (tilde). Riittävän testauksen jälkeen paketti merkitään vakaaksi (stable).
Vuonna 2004 julkaistiin neljännesvuosittain asennus-CD:t, jotka nimettiin kyseisen vuoden ja juoksevan numeron mukaan. Esimerkiksi 2004.0, 2004.1, 2004.2 ja 2004.3 ilmestyivät vuonna 2004. Vuonna 2005 sovittiin julkaisutahdiksi 2 versiota per vuosi; 2005.0 on julkaistu alkuvuodesta ja 2005.1 loppuvuodesta.
Asennusprosessi
Gentoon asennusprosessi on aiemmin ollut täysin komentopohjainen ilman mitään asennusohjelmaa. Kuitenkin Gentoo 2006.0 sisältää nykyään myös asennusohjelman jolla vaikeana pidetty Gentoon asennus helpottuu huomattavasti.
Merkittävin valinta Gentoon asentamisessa koskee ns. vaiheen (stage) valitsemista. Gentoo asennetaan siten että kone käynnistetään asennus-CD:ltä, ja tulevan järjestelmän levyt liitetään asennusvaiheen järjestelmän hakemistorakenteeseen. Tämän jälkeen tulevan järjestelmän levyille avataan valittua vaihetta koskeva paketti (tarball).
Ensimmäisen vaiheen paketti ei sisällä juuri muuta kuin Gentoon paketinhallinnan osat ja kääntäjän, joiden pohjalta rakennetaan minimaalinen järjestelmä.
Toisen vaiheen paketissa ns. bootstrap on tehty, eli koossa on minimaalinen järjestelmä jonka avulla voidaan rakentaa kaikki täysimittaisen järjestelmän kannalta välttämättömät osat.
Kolmannen vaiheen paketissa kaikki ryhmään system kuuluvat osat on rakennettu, ja järjestelmään voidaan olennaisten säätöjen tekemisen jälkeen alkaa asentaa ohjelmia.
Ensimmäisestä vaiheesta toiseen vaiheeseen tarvittava kääntämistyö vie helposti useita tunteja, ja vähän vanhempi kone kannattaakin jättää yöksi suoriutumaan tehtävästä. Sama koskee käännöstyötä toisesta vaiheesta kolmanteen vaiheeseen. Nykyään vain kolmas vaihe on virallisesti tuettu asennuskeino.
MASKED ja TESTING-pakettien asentaminen
Portagessa olevat paketit jaetaan kahteen ryhmään: arch ja ~arch. Esim x86 ja ~x86. ~-merkatut paketit kuuluvat testihaaraan. Siihen kuuluvat paketit on todettu toimivaksi, mutta niiden toimintaa halutaan vielä testata ennen kuin ne liitetään stabiiliin haaraan.
Maskatut paketit ovat kehittäjien "huonoiksi" merkitsemiä paketteja. Huonolla tarkoitetaan sitä, että paketti ei toimi vielä halutulla tavalla ja saatta aiheuttaa järjestelmän rikkoutumisen.
Testing-haaran käyttäminen
Testing haaran käyttäjäksi voi siirtyä kadella tavalla:
Tekemällä koko järjestelmästä Testing:
# Muokkaa /etc/make.conf ACCEPT_KEYWORDS="~arch"
Käyttämällä vain yksittäisissä paketeissa Testing-haaraa:
echo "<paketti> ~arch" >> /etc/portage/package.keywords
Esim. Merkkaan gcc Testinggiin
echo "sys-devel/gcc ~x86" >> /etc/portage/package.keywords
Maskattujen pakettien asentaminen
Paketin poistaminen maskista on helppoa:
echo "<paketti>" >> /etc/portage/package.unmask
Esim. Unmaskaan GCC-4.1
echo "=sys-devel/gcc-4.1" >> /etc/portage/package.unmask