Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-doc-fi
Navigation:
Lists: gentoo-doc-fi: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-doc-fi@g.o
From: Santtu Pajukanta <japsu@...>
Subject: DistCC-opas tarkistettavaksi
Date: Sun, 26 Sep 2004 20:30:49 +0300
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hei,

Tässä suomentamani DistCC-opas tarkistettavaksi:


<?xml version='1.0' encoding="ISO-8859-15"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<!-- 
$Header: /var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/en/distcc.xml,v 
1.22 2004/08/22 20:51:08 neysx Exp $ -->

<guide link="/doc/fi/distcc.xml">

<title>Gentoon DistCC-opas</title>

<author title="Tekijä">
  <mail link="lisa@g.o">Lisa Seelye</mail>
</author>

<author title="Toimittaja">
  <mail link="vapier@g.o">Mike Frysinger</mail>
</author>

<author title="Toimittaja">
  <mail link="erwin@g.o">Erwin</mail>
</author>

<author title="Toimittaja">
  <mail link="swift@g.o">Sven Vermeulen</mail>
</author>

<author title="Toimittaja">
  <mail link="pylon@g.o">Lars Weiler</mail>
</author>

<author title="Katselmoija">
  <mail link="blubber@g.o">Tiemo Kieft</mail>
</author>

<author title="Kääntäjä">
  <mail link="japsu@...">Santtu Pajukanta</mail>
</author>

<abstract>
Tämä dokumentti käsittelee hajautetun DistCC-kääntäjän käyttämistä Gentoossa.
</abstract>

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/1.0 -->
<license/>

<version>1.8</version>
<date>22. elokuuta, 2004</date>

<chapter>
<title>Johdanto</title>
<section>
<title>Mikä on DistCC?</title>
<body>

<p>
DistCC on ohjelma, joka on suunniteltu hajauttamaan ohjelmien kääntäminen 
lähdekoodista ajettavaan binäärimuotoon lähiverkon yli useille tietokoneille. 
Se koostuu palvelimesta (<c>distccd</c>) ja asiakasohjelmasta 
(<c>distcc</c>). DistCC voi toimia läpinäkyvästi <uri 
link="http://ccache.samba.org">ccache</uri>n kanssa, ja pienellä työllä myös 
Portagen kanssa.
</p>

</body>
</section>
<section>
<title>DistCC:n käyttö bootstrapissa</title>
<body>

<p>
Jos aiot käyttää DistCC:tä Gentoo-asennuksen bootstrap-vaiheessa, lue kohta 
<uri link="#bootstrapping">DistCC:n käyttö bootstrap-vaiheessa</uri>.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Asennus</title>
<section>
<title>Riippuvuudet</title>
<body>

<p>
Jotta DistCC:tä voitaisiin käyttää, kaikissa verkon koneissa on oltava sama 
versio GCC-kääntäjästä. 3.3.x-kääntäjien (missä x vaihtelee) sekoittaminen on 
hyväksyttävää, mutta 3.3.x:n ja 3.2.x:n sekoittaminen ei ole; jos yrität 
tätä, <e>tulet saamaan</e> virheitä.
</p>

</body>
</section>
<section>
<title>DistCC:n asentaminen</title>
<body>

<p>
Ennen kuin alat asentaa DistCC:tä, on muutamia valintoja, joista Sinun on hyvä 
tietää.
</p>

<p>
DistCC:n mukana tulee graafinen valvontaohjelma, joka näyttää kääntötehtävät, 
jotka koneesi lähettää verkkoon. Jos käytät Gnomea, lisää 'gnome' 
USE-valintoihisi. Jos et käytä Gnomea, mutta haluaisit silti tämän graafisen 
valvontaohjelman, lisää 'gtk' USE-valintoihisi.
</p>

<pre caption="DistCC:n asentaminen">
# <i>emerge distcc</i>
</pre>

</body>
</section>
<section>
<title>Portagen asettaminen käyttämään DistCC:tä</title>
<body>

<p>
Portage on helppo asettaa käyttämään DistCC:tä. Tee seuraavat vaiheet kaikissa 
niissä järjestelmissä, joiden haluaisit osallistuvan hajautettuun 
kääntämiseen:
</p>

<pre caption="DistCC:n ja Portagen yhdistäminen">
# <i>emerge distcc</i>
# <i>nano -w /etc/make.conf</i>
<comment>(Aseta N sopivaan määrään)</comment>
<comment>(Hyvä nyrkkisääntö on N = 2 * prosessorien määrä + 1)</comment>
MAKEOPTS="-jN"
<comment>(Lisää distcc FEATURES-ympäristömuuttujaan)</comment>
FEATURES="distcc"
</pre>

<p>
Seuraavaksi Sinun täytyy määrittää, mitä koneita haluat käyttää hajautettuun 
kääntämiseen. Käytä <c>distcc-config</c>-komentoa konelistan asettamiseen. 
Tässä on muutama esimerkki tavoista määrittää koneita listassa:
</p>

<pre caption="Esimerkkejä konemäärityksistä">
192.168.0.1          192.168.0.2                       192.168.0.3
192.168.0.1/2        192.168.0.2                       192.168.0.3/10
192.168.0.1:4000/2   192.168.0.2/1                     192.168.0.3:3632/4
@192.168.0.1         @192.168.0.2:/usr/bin/distccd     192.168.0.3
<comment>(On myös monia muita tapoja määrittää kääntämiseen osallistuvia 
koneita. Lisätietoja antaa distcc:n man-sivu.)</comment>
</pre>

<p>
Tämä voi näyttää monimutkaiselta, mutta useimmissa tapauksissa ensimmäisen tai 
toisen rivin tyylinen määritys toimii.
</p>

<ul>
  <li>Rivillä 1 on vain välilyönnein erotettu lista koneista</li>
  <li>
    Rivillä 2 olevassa konelistassa määritellään (<c>/N</c>-asetuksella) myös, 
kuinka monta yhtäaikaista käännöstyötä kullekin koneelle enimmillään 
lähetetään.
  </li>
</ul>

<p>
Koska useimmat käyttäjät eivät tarvitse rivejä 3 ja 4, ohjaamme Sinut <uri 
link="http://distcc.samba.org/man/distcc_1.html">DistCC:n 
dokumentaatioon</uri>, mikäli tarvitset lisätietoja.
</p>

<p>Mikäli haluat esimerkiksi käyttää ensimmäisen rivin mukaista määritystä, 
käytä seuraavanlaista komentoa:</p>

<pre caption="Esimerkkikomento kääntämiseen osallistuvien koneiden asettamista 
varten">
# <i>/usr/bin/distcc-config --set-hosts "192.168.0.1 192.168.0.2 
192.168.0.3"</i>
</pre>

<p>
Käynnistä sitten <c>distccd</c> kääntämiseen osallistuville koneille:
</p>

<pre caption="Distccd-palvelimen käynnistäminen">
<comment>(Lisätään distccd oletusajotasoon)</comment>
# <i>rc-update add distccd default</i>
<comment>(Käynnistetään distcc-palvelin)</comment>
# <i>/etc/init.d/distccd start</i>
</pre>

</body>
</section>
<section>
<title>DistCC:n käyttäminen Automaken kanssa</title>
<body>

<p>
Tämä on joissain tapauksissa helpompaa kuin Portagen asettaminen. Tässä 
tapauksessa Sinun tulee asettaa <c>PATH</c>-ympäristömuuttuja siten, että 
hakemisto <path>/usr/lib/distcc/bin</path> tulee ennen sitä hakemistoa, jossa 
"perinteinen" <c>gcc</c>-kääntäjä sijaitsee (yleensä <path>/usr/bin</path>). 
Huomaa kuitenkin, että jos käytät <c>ccache</c>a, distcc täytyy laittaa vasta 
ccachen jälkeen:
</p>

<pre caption="PATH-ympäristömuuttujan asettaminen">
# <i>export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"</i>
</pre>

<p>
Kun tavallisesti komentaisit <c>make</c>, nyt komennatkin <c>make -jN</c> 
(missä N on kokonaisluku). Paras N:n arvo riippuu verkkosi ja käyttämiesi 
tietokoneiden ominaisuuksista. Minulla on kaksiprosessorinen P3-kone ja 
K6-2/400-kone, jotka kääntävät kaiken pöytäkonettani varten (1200 MHz Athlon 
Thunderbird), ja käytän asetusta -j5. Kokeile omia asetuksiasi löytääksesi 
parhaan suorituskyvyn antavan arvon.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Ristikääntäjän käyttö</title>
<section>
<title>Ristikääntämisestä</title>
<body>

<p>
Ristikääntämisellä tarkoitetaan tietyllä arkkitehtuurilla toimivan tietokoneen 
käyttämistä ohjelmien kääntämiseen toisellearkkitehtuurille. 
Yksinkertaisimmillaan tämä voi tarkoittaa esimerkiksi Athlonin (i686) 
käyttämistä ohjelman kääntämiseen K6-2:lle (i586), tai SPARCin käyttämistä 
ohjelman kääntämiseen PowerPC:lle.
</p>

</body>
</section>
<section>
<title>Johdatus ristikääntämiseen</title>
<body>

<p>
Jos haluat kokeilla ristikääntämistä, voit asentaa <c>crossdev</c>-paketin. En 
voi antaa tälle paketille käyttötukea, koska en ole kirjoittanut sitä, mutta 
se on hyvä tapa aloittaa ristikääntäminen.
</p>

</body>
</section>
</chapter>

<chapter id="bootstrapping">
<title>DistCC:n käyttö bootstrap-vaiheessa</title>
<section>
<title>Vaihe 1: Portagen asetukset </title>
<body>

<p>
Käynnistä koneesi Gentoo Linux LiveCD:ltä ja seuraa <uri 
link="/doc/fi/handbook/handbook-x86.xml?part=1">asennusohjeita</uri> 
bootstrap-vaiheeseen asti. Aseta sitten Portage käyttämään DistCC:tä:
</p>

<pre caption="Alustavat asetukset">
# <i>nano -w /etc/make.conf</i>
<comment>(Lisää distcc FEATURES-ympäristömuuttujaan)</comment>
FEATURES="distcc"
<comment>(Lisää MAKEOPTS-ympäristömuuttujaan -jN missä N on sopiva 
kokonaisluku)</comment>
MAKEOPTS="-jN"
</pre>

<pre caption="Hakupolun asettaminen">
# <i>export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"</i>
</pre>

</body>
</section>
<section>
<title>Vaihe 2: DistCC:n asentaminen</title>
<body>

<p>
Ennen DistCC:n asentamista täytyy lisätä uusi käyttäjä tiedostoon 
<path>/etc/passwd</path>:
</p>

<pre caption="distcc-käyttäjän luominen">
# <i>echo "distcc:x:240:2:distccd:/dev/null:/bin/false" 
&gt;&gt; /etc/passwd</i>
</pre>

<p>
Asenna DistCC:
</p>

<pre caption="DistCC:n asentaminen uudelle koneelle">
# <i>USE='-*' emerge --nodeps distcc</i>
</pre>

</body>
</section>
<section>
<title>Vaihe 3: DistCC:n asetukset</title>
<body>

<p>
Aja <c>distcc-config</c> DistCC:n asetusten asettamiseksi:
</p>

<pre caption="DistCC:n lopulliset asetukset">
<comment>(Korvaa host1, host2, ... osallistuvien tietokoneiden nimillä tai 
IP-osoitteilla)</comment>
# <i>/usr/bin/distcc-config --set-hosts "localhost host1 host2 host3 ..."</i>
<comment>Esimerkki: <i>/usr/bin/distcc-config --set-hosts "localhost 
192.168.0.4 192.168.0.6"</i></comment>
</pre>

<p>
distcc on nyt valmis bootstrap-vaiheeseen! Jatka virallisen asennusohjeen 
mukaan <e>äläkä unohda</e> asentaa DistCC:tä uudelleen <c>emerge system</c> 
- -vaiheen jälkeen. Tämä on tehtävä DistCC:n riippuvuuksien asentumisen 
varmistamiseksi (koska DistCC asennettiin yllä valinnoilla USE='-*' ja 
'emerge --nodeps ...').
</p>

<note>
Bootstrap-vaiheen ja <c>emerge system</c>in aikana saattaa välillä näyttää 
siltä, että DistCC:tä ei käytetä. Tämä on odotettavissa, sillä jotkut 
ebuildit eivät toimi hyvin yhdessä distcc:n kanssa, joten ne kytkevät sen 
tarkoituksella pois käytöstä.
</note>

</body>
</section>
</chapter>

<chapter>
<title>Vianetsintä</title>
<section>
<title>Mozilla ja Xfree</title>
<body>

<p>
Kun asennat <c>emerge</c>llä eri paketteja, tulet huomaamaan, että joitain 
niistä ei hajauteta (eikä käännetä rinnakkaisesti). Tämä johtuu siitä, että 
esimerkiksi Mozillan ja Xfreen kehittäjät kytkevät rinnakkaiskäännön 
tarkoituksella pois käytöstä, koska sen tiedetään aiheuttavan ongelmia.
</p>

<p>
Joskus DistCC saattaa aiheuttaa sen, että jokin paketti ei suostu kääntymään. 
Mikäli näin tapahtuu, <uri link="http://bugs.gentoo.org">ilmoita</uri> siitä 
meille.
</p>

</body>
</section>
<section>
<title>Hardened-GCC-koneiden ja ei-hardened-GCC-koneiden sekoitus ei tule 
toimimaan</title>
<body>

<p>
Näin pitkällä otsikolla selitys tässä on lähes epäoleellinen. Joka tapauksessa 
mikäli aiot käyttää DistCC:tä koneilla, joista osalla on <uri 
link="/proj/en/hardened/etdyn-ssp.xml">PaX/hardened-gcc</uri>-kääntäjä ja 
osalla ei, törmäät varmasti ongelmiin.
</p>

<p>
Ratkaisu vaatii hieman ennakointia; Sinun täytyy ajaa <c>hardened-gcc -R</c> 
koneella, jolla on PaX/hardened-gcc, tai kytkeä päälle PaX-suojaukset 
kernelistäsi ja ajaa <c>emerge hardened-gcc</c>. Nämä molemmat ovat hyviä 
asioita tehtäväksi, sillä niiden tarjoamat suojaukset ovat enimmäkseen 
läpinäkyviä käyttäjälle.
</p>

</body>
</section>
<section>
<title>Eri GCC:n versioiden sekakäyttö</title>
<body>

<p>
Jos koneillasi on eri versioita GCC:stä, tulet todennäköisesti törmäämään 
erittäin outoihin ongelmiin. Ratkaisu on varmistaa, että kaikilla koneilla on 
sama GCC:n versio.
</p>

</body>
</section>
</chapter>

<chapter>
<title>DistCC:n lisäohjelmat</title>
<section>
<title>DistCC:n valvontaohjelmat</title>
<body>

<p>
DistCC:n mukana tulee kaksi valvontaohjelmaa. Tekstipohjainen valvontaohjelma 
käännetään aina, ja sen nimi on <c>distccmon-text</c>. Sen ajaminen ensi 
kertaa voi olla melko sekavaa, mutta ohjelma on oikeastaan melko 
helppokäyttöinen. Jos ajat ohjelman ilman parametrejä, se suoritetaan vain 
kerran. Jos sen sijaan annat sille jonkin numeron N, se jää päälle ja 
päivittyy aina N:n sekunnin välein.
</p>

<p>
Toinen valvontaohjelma käännetään vain, jos käytit joko <c>gtk</c>- tai 
<c>gnome</c>-USE-valintaa. Se on GTK+-pohjainen, toimii X-ympäristössä ja on 
melko rakastettava.
</p>


<pre caption="Valvontaohjelmien ajaminen">
# <i>distccmon-text N</i>
<comment>(tai)</comment>
# <i>distccmon-gnome</i>
<comment>Portagen valvomiseksi voit käyttää seuraavia komentoja:</comment>
# <i>DISTCC_DIR=`portageq envvar DISTCC_DIR` distccmon-text N</i>
<comment>(tai)</comment>
# <i>DISTCC_DIR=`portageq envvar DISTCC_DIR` distccmon-gnome</i>
</pre>

<impo>
Huomaa aksentit yläpuolella. <c>portageq</c> on Portagen osa, joka palauttaa 
pyydetyn tiedon (tässä tapauksessa DISTCC_DIR-ympäristömuuttujan sisällön). 
Yksinkertaisuuden vuoksi useimmille käyttäjille riittää 
<c>DISTCC_DIR=/var/tmp/portage/.distcc
distccmon-text N</c>.
</impo>

</body>
</section>
</chapter>
</guide>



- -- 
Santtu Pajukanta <japsu@...>
OpenPGP key ID: 0x520A97CC
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iD8DBQFBVvzTZzmiiVIKl8wRAkumAJ99wla/I7sce5qj76F7jihYd9VQ+wCeJqGx
OsaqIMUYd/D/YTDKeQX88Ss=
=NDYH
-----END PGP SIGNATURE-----

--
gentoo-doc-fi@g.o mailing list

Navigation:
Lists: gentoo-doc-fi: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
openMosix-opas tarkistettavaksi
Next by thread:
Uusi versio udev-oppaan käännöksestä
Previous by date:
openMosix-opas tarkistettavaksi
Next by date:
Uusi versio udev-oppaan käännöksestä


Updated Jun 17, 2009

Summary: Archive of the gentoo-doc-fi mailing list.

Donate to support our development efforts.

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