1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA1 |
3 |
|
4 |
Hei, |
5 |
|
6 |
Tässä suomentamani DistCC-opas tarkistettavaksi: |
7 |
|
8 |
|
9 |
<?xml version='1.0' encoding="ISO-8859-15"?> |
10 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
11 |
<!-- |
12 |
$Header: /var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/en/distcc.xml,v |
13 |
1.22 2004/08/22 20:51:08 neysx Exp $ --> |
14 |
|
15 |
<guide link="/doc/fi/distcc.xml"> |
16 |
|
17 |
<title>Gentoon DistCC-opas</title> |
18 |
|
19 |
<author title="Tekijä"> |
20 |
<mail link="lisa@g.o">Lisa Seelye</mail> |
21 |
</author> |
22 |
|
23 |
<author title="Toimittaja"> |
24 |
<mail link="vapier@g.o">Mike Frysinger</mail> |
25 |
</author> |
26 |
|
27 |
<author title="Toimittaja"> |
28 |
<mail link="erwin@g.o">Erwin</mail> |
29 |
</author> |
30 |
|
31 |
<author title="Toimittaja"> |
32 |
<mail link="swift@g.o">Sven Vermeulen</mail> |
33 |
</author> |
34 |
|
35 |
<author title="Toimittaja"> |
36 |
<mail link="pylon@g.o">Lars Weiler</mail> |
37 |
</author> |
38 |
|
39 |
<author title="Katselmoija"> |
40 |
<mail link="blubber@g.o">Tiemo Kieft</mail> |
41 |
</author> |
42 |
|
43 |
<author title="Kääntäjä"> |
44 |
<mail link="japsu@×××.fi">Santtu Pajukanta</mail> |
45 |
</author> |
46 |
|
47 |
<abstract> |
48 |
Tämä dokumentti käsittelee hajautetun DistCC-kääntäjän käyttämistä Gentoossa. |
49 |
</abstract> |
50 |
|
51 |
<!-- The content of this document is licensed under the CC-BY-SA license --> |
52 |
<!-- See http://creativecommons.org/licenses/by-sa/1.0 --> |
53 |
<license/> |
54 |
|
55 |
<version>1.8</version> |
56 |
<date>22. elokuuta, 2004</date> |
57 |
|
58 |
<chapter> |
59 |
<title>Johdanto</title> |
60 |
<section> |
61 |
<title>Mikä on DistCC?</title> |
62 |
<body> |
63 |
|
64 |
<p> |
65 |
DistCC on ohjelma, joka on suunniteltu hajauttamaan ohjelmien kääntäminen |
66 |
lähdekoodista ajettavaan binäärimuotoon lähiverkon yli useille tietokoneille. |
67 |
Se koostuu palvelimesta (<c>distccd</c>) ja asiakasohjelmasta |
68 |
(<c>distcc</c>). DistCC voi toimia läpinäkyvästi <uri |
69 |
link="http://ccache.samba.org">ccache</uri>n kanssa, ja pienellä työllä myös |
70 |
Portagen kanssa. |
71 |
</p> |
72 |
|
73 |
</body> |
74 |
</section> |
75 |
<section> |
76 |
<title>DistCC:n käyttö bootstrapissa</title> |
77 |
<body> |
78 |
|
79 |
<p> |
80 |
Jos aiot käyttää DistCC:tä Gentoo-asennuksen bootstrap-vaiheessa, lue kohta |
81 |
<uri link="#bootstrapping">DistCC:n käyttö bootstrap-vaiheessa</uri>. |
82 |
</p> |
83 |
|
84 |
</body> |
85 |
</section> |
86 |
</chapter> |
87 |
|
88 |
<chapter> |
89 |
<title>Asennus</title> |
90 |
<section> |
91 |
<title>Riippuvuudet</title> |
92 |
<body> |
93 |
|
94 |
<p> |
95 |
Jotta DistCC:tä voitaisiin käyttää, kaikissa verkon koneissa on oltava sama |
96 |
versio GCC-kääntäjästä. 3.3.x-kääntäjien (missä x vaihtelee) sekoittaminen on |
97 |
hyväksyttävää, mutta 3.3.x:n ja 3.2.x:n sekoittaminen ei ole; jos yrität |
98 |
tätä, <e>tulet saamaan</e> virheitä. |
99 |
</p> |
100 |
|
101 |
</body> |
102 |
</section> |
103 |
<section> |
104 |
<title>DistCC:n asentaminen</title> |
105 |
<body> |
106 |
|
107 |
<p> |
108 |
Ennen kuin alat asentaa DistCC:tä, on muutamia valintoja, joista Sinun on hyvä |
109 |
tietää. |
110 |
</p> |
111 |
|
112 |
<p> |
113 |
DistCC:n mukana tulee graafinen valvontaohjelma, joka näyttää kääntötehtävät, |
114 |
jotka koneesi lähettää verkkoon. Jos käytät Gnomea, lisää 'gnome' |
115 |
USE-valintoihisi. Jos et käytä Gnomea, mutta haluaisit silti tämän graafisen |
116 |
valvontaohjelman, lisää 'gtk' USE-valintoihisi. |
117 |
</p> |
118 |
|
119 |
<pre caption="DistCC:n asentaminen"> |
120 |
# <i>emerge distcc</i> |
121 |
</pre> |
122 |
|
123 |
</body> |
124 |
</section> |
125 |
<section> |
126 |
<title>Portagen asettaminen käyttämään DistCC:tä</title> |
127 |
<body> |
128 |
|
129 |
<p> |
130 |
Portage on helppo asettaa käyttämään DistCC:tä. Tee seuraavat vaiheet kaikissa |
131 |
niissä järjestelmissä, joiden haluaisit osallistuvan hajautettuun |
132 |
kääntämiseen: |
133 |
</p> |
134 |
|
135 |
<pre caption="DistCC:n ja Portagen yhdistäminen"> |
136 |
# <i>emerge distcc</i> |
137 |
# <i>nano -w /etc/make.conf</i> |
138 |
<comment>(Aseta N sopivaan määrään)</comment> |
139 |
<comment>(Hyvä nyrkkisääntö on N = 2 * prosessorien määrä + 1)</comment> |
140 |
MAKEOPTS="-jN" |
141 |
<comment>(Lisää distcc FEATURES-ympäristömuuttujaan)</comment> |
142 |
FEATURES="distcc" |
143 |
</pre> |
144 |
|
145 |
<p> |
146 |
Seuraavaksi Sinun täytyy määrittää, mitä koneita haluat käyttää hajautettuun |
147 |
kääntämiseen. Käytä <c>distcc-config</c>-komentoa konelistan asettamiseen. |
148 |
Tässä on muutama esimerkki tavoista määrittää koneita listassa: |
149 |
</p> |
150 |
|
151 |
<pre caption="Esimerkkejä konemäärityksistä"> |
152 |
192.168.0.1 192.168.0.2 192.168.0.3 |
153 |
192.168.0.1/2 192.168.0.2 192.168.0.3/10 |
154 |
192.168.0.1:4000/2 192.168.0.2/1 192.168.0.3:3632/4 |
155 |
@192.168.0.1 @192.168.0.2:/usr/bin/distccd 192.168.0.3 |
156 |
<comment>(On myös monia muita tapoja määrittää kääntämiseen osallistuvia |
157 |
koneita. Lisätietoja antaa distcc:n man-sivu.)</comment> |
158 |
</pre> |
159 |
|
160 |
<p> |
161 |
Tämä voi näyttää monimutkaiselta, mutta useimmissa tapauksissa ensimmäisen tai |
162 |
toisen rivin tyylinen määritys toimii. |
163 |
</p> |
164 |
|
165 |
<ul> |
166 |
<li>Rivillä 1 on vain välilyönnein erotettu lista koneista</li> |
167 |
<li> |
168 |
Rivillä 2 olevassa konelistassa määritellään (<c>/N</c>-asetuksella) myös, |
169 |
kuinka monta yhtäaikaista käännöstyötä kullekin koneelle enimmillään |
170 |
lähetetään. |
171 |
</li> |
172 |
</ul> |
173 |
|
174 |
<p> |
175 |
Koska useimmat käyttäjät eivät tarvitse rivejä 3 ja 4, ohjaamme Sinut <uri |
176 |
link="http://distcc.samba.org/man/distcc_1.html">DistCC:n |
177 |
dokumentaatioon</uri>, mikäli tarvitset lisätietoja. |
178 |
</p> |
179 |
|
180 |
<p>Mikäli haluat esimerkiksi käyttää ensimmäisen rivin mukaista määritystä, |
181 |
käytä seuraavanlaista komentoa:</p> |
182 |
|
183 |
<pre caption="Esimerkkikomento kääntämiseen osallistuvien koneiden asettamista |
184 |
varten"> |
185 |
# <i>/usr/bin/distcc-config --set-hosts "192.168.0.1 192.168.0.2 |
186 |
192.168.0.3"</i> |
187 |
</pre> |
188 |
|
189 |
<p> |
190 |
Käynnistä sitten <c>distccd</c> kääntämiseen osallistuville koneille: |
191 |
</p> |
192 |
|
193 |
<pre caption="Distccd-palvelimen käynnistäminen"> |
194 |
<comment>(Lisätään distccd oletusajotasoon)</comment> |
195 |
# <i>rc-update add distccd default</i> |
196 |
<comment>(Käynnistetään distcc-palvelin)</comment> |
197 |
# <i>/etc/init.d/distccd start</i> |
198 |
</pre> |
199 |
|
200 |
</body> |
201 |
</section> |
202 |
<section> |
203 |
<title>DistCC:n käyttäminen Automaken kanssa</title> |
204 |
<body> |
205 |
|
206 |
<p> |
207 |
Tämä on joissain tapauksissa helpompaa kuin Portagen asettaminen. Tässä |
208 |
tapauksessa Sinun tulee asettaa <c>PATH</c>-ympäristömuuttuja siten, että |
209 |
hakemisto <path>/usr/lib/distcc/bin</path> tulee ennen sitä hakemistoa, jossa |
210 |
"perinteinen" <c>gcc</c>-kääntäjä sijaitsee (yleensä <path>/usr/bin</path>). |
211 |
Huomaa kuitenkin, että jos käytät <c>ccache</c>a, distcc täytyy laittaa vasta |
212 |
ccachen jälkeen: |
213 |
</p> |
214 |
|
215 |
<pre caption="PATH-ympäristömuuttujan asettaminen"> |
216 |
# <i>export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"</i> |
217 |
</pre> |
218 |
|
219 |
<p> |
220 |
Kun tavallisesti komentaisit <c>make</c>, nyt komennatkin <c>make -jN</c> |
221 |
(missä N on kokonaisluku). Paras N:n arvo riippuu verkkosi ja käyttämiesi |
222 |
tietokoneiden ominaisuuksista. Minulla on kaksiprosessorinen P3-kone ja |
223 |
K6-2/400-kone, jotka kääntävät kaiken pöytäkonettani varten (1200 MHz Athlon |
224 |
Thunderbird), ja käytän asetusta -j5. Kokeile omia asetuksiasi löytääksesi |
225 |
parhaan suorituskyvyn antavan arvon. |
226 |
</p> |
227 |
|
228 |
</body> |
229 |
</section> |
230 |
</chapter> |
231 |
|
232 |
<chapter> |
233 |
<title>Ristikääntäjän käyttö</title> |
234 |
<section> |
235 |
<title>Ristikääntämisestä</title> |
236 |
<body> |
237 |
|
238 |
<p> |
239 |
Ristikääntämisellä tarkoitetaan tietyllä arkkitehtuurilla toimivan tietokoneen |
240 |
käyttämistä ohjelmien kääntämiseen toisellearkkitehtuurille. |
241 |
Yksinkertaisimmillaan tämä voi tarkoittaa esimerkiksi Athlonin (i686) |
242 |
käyttämistä ohjelman kääntämiseen K6-2:lle (i586), tai SPARCin käyttämistä |
243 |
ohjelman kääntämiseen PowerPC:lle. |
244 |
</p> |
245 |
|
246 |
</body> |
247 |
</section> |
248 |
<section> |
249 |
<title>Johdatus ristikääntämiseen</title> |
250 |
<body> |
251 |
|
252 |
<p> |
253 |
Jos haluat kokeilla ristikääntämistä, voit asentaa <c>crossdev</c>-paketin. En |
254 |
voi antaa tälle paketille käyttötukea, koska en ole kirjoittanut sitä, mutta |
255 |
se on hyvä tapa aloittaa ristikääntäminen. |
256 |
</p> |
257 |
|
258 |
</body> |
259 |
</section> |
260 |
</chapter> |
261 |
|
262 |
<chapter id="bootstrapping"> |
263 |
<title>DistCC:n käyttö bootstrap-vaiheessa</title> |
264 |
<section> |
265 |
<title>Vaihe 1: Portagen asetukset </title> |
266 |
<body> |
267 |
|
268 |
<p> |
269 |
Käynnistä koneesi Gentoo Linux LiveCD:ltä ja seuraa <uri |
270 |
link="/doc/fi/handbook/handbook-x86.xml?part=1">asennusohjeita</uri> |
271 |
bootstrap-vaiheeseen asti. Aseta sitten Portage käyttämään DistCC:tä: |
272 |
</p> |
273 |
|
274 |
<pre caption="Alustavat asetukset"> |
275 |
# <i>nano -w /etc/make.conf</i> |
276 |
<comment>(Lisää distcc FEATURES-ympäristömuuttujaan)</comment> |
277 |
FEATURES="distcc" |
278 |
<comment>(Lisää MAKEOPTS-ympäristömuuttujaan -jN missä N on sopiva |
279 |
kokonaisluku)</comment> |
280 |
MAKEOPTS="-jN" |
281 |
</pre> |
282 |
|
283 |
<pre caption="Hakupolun asettaminen"> |
284 |
# <i>export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"</i> |
285 |
</pre> |
286 |
|
287 |
</body> |
288 |
</section> |
289 |
<section> |
290 |
<title>Vaihe 2: DistCC:n asentaminen</title> |
291 |
<body> |
292 |
|
293 |
<p> |
294 |
Ennen DistCC:n asentamista täytyy lisätä uusi käyttäjä tiedostoon |
295 |
<path>/etc/passwd</path>: |
296 |
</p> |
297 |
|
298 |
<pre caption="distcc-käyttäjän luominen"> |
299 |
# <i>echo "distcc:x:240:2:distccd:/dev/null:/bin/false" |
300 |
>> /etc/passwd</i> |
301 |
</pre> |
302 |
|
303 |
<p> |
304 |
Asenna DistCC: |
305 |
</p> |
306 |
|
307 |
<pre caption="DistCC:n asentaminen uudelle koneelle"> |
308 |
# <i>USE='-*' emerge --nodeps distcc</i> |
309 |
</pre> |
310 |
|
311 |
</body> |
312 |
</section> |
313 |
<section> |
314 |
<title>Vaihe 3: DistCC:n asetukset</title> |
315 |
<body> |
316 |
|
317 |
<p> |
318 |
Aja <c>distcc-config</c> DistCC:n asetusten asettamiseksi: |
319 |
</p> |
320 |
|
321 |
<pre caption="DistCC:n lopulliset asetukset"> |
322 |
<comment>(Korvaa host1, host2, ... osallistuvien tietokoneiden nimillä tai |
323 |
IP-osoitteilla)</comment> |
324 |
# <i>/usr/bin/distcc-config --set-hosts "localhost host1 host2 host3 ..."</i> |
325 |
<comment>Esimerkki: <i>/usr/bin/distcc-config --set-hosts "localhost |
326 |
192.168.0.4 192.168.0.6"</i></comment> |
327 |
</pre> |
328 |
|
329 |
<p> |
330 |
distcc on nyt valmis bootstrap-vaiheeseen! Jatka virallisen asennusohjeen |
331 |
mukaan <e>äläkä unohda</e> asentaa DistCC:tä uudelleen <c>emerge system</c> |
332 |
- -vaiheen jälkeen. Tämä on tehtävä DistCC:n riippuvuuksien asentumisen |
333 |
varmistamiseksi (koska DistCC asennettiin yllä valinnoilla USE='-*' ja |
334 |
'emerge --nodeps ...'). |
335 |
</p> |
336 |
|
337 |
<note> |
338 |
Bootstrap-vaiheen ja <c>emerge system</c>in aikana saattaa välillä näyttää |
339 |
siltä, että DistCC:tä ei käytetä. Tämä on odotettavissa, sillä jotkut |
340 |
ebuildit eivät toimi hyvin yhdessä distcc:n kanssa, joten ne kytkevät sen |
341 |
tarkoituksella pois käytöstä. |
342 |
</note> |
343 |
|
344 |
</body> |
345 |
</section> |
346 |
</chapter> |
347 |
|
348 |
<chapter> |
349 |
<title>Vianetsintä</title> |
350 |
<section> |
351 |
<title>Mozilla ja Xfree</title> |
352 |
<body> |
353 |
|
354 |
<p> |
355 |
Kun asennat <c>emerge</c>llä eri paketteja, tulet huomaamaan, että joitain |
356 |
niistä ei hajauteta (eikä käännetä rinnakkaisesti). Tämä johtuu siitä, että |
357 |
esimerkiksi Mozillan ja Xfreen kehittäjät kytkevät rinnakkaiskäännön |
358 |
tarkoituksella pois käytöstä, koska sen tiedetään aiheuttavan ongelmia. |
359 |
</p> |
360 |
|
361 |
<p> |
362 |
Joskus DistCC saattaa aiheuttaa sen, että jokin paketti ei suostu kääntymään. |
363 |
Mikäli näin tapahtuu, <uri link="http://bugs.gentoo.org">ilmoita</uri> siitä |
364 |
meille. |
365 |
</p> |
366 |
|
367 |
</body> |
368 |
</section> |
369 |
<section> |
370 |
<title>Hardened-GCC-koneiden ja ei-hardened-GCC-koneiden sekoitus ei tule |
371 |
toimimaan</title> |
372 |
<body> |
373 |
|
374 |
<p> |
375 |
Näin pitkällä otsikolla selitys tässä on lähes epäoleellinen. Joka tapauksessa |
376 |
mikäli aiot käyttää DistCC:tä koneilla, joista osalla on <uri |
377 |
link="/proj/en/hardened/etdyn-ssp.xml">PaX/hardened-gcc</uri>-kääntäjä ja |
378 |
osalla ei, törmäät varmasti ongelmiin. |
379 |
</p> |
380 |
|
381 |
<p> |
382 |
Ratkaisu vaatii hieman ennakointia; Sinun täytyy ajaa <c>hardened-gcc -R</c> |
383 |
koneella, jolla on PaX/hardened-gcc, tai kytkeä päälle PaX-suojaukset |
384 |
kernelistäsi ja ajaa <c>emerge hardened-gcc</c>. Nämä molemmat ovat hyviä |
385 |
asioita tehtäväksi, sillä niiden tarjoamat suojaukset ovat enimmäkseen |
386 |
läpinäkyviä käyttäjälle. |
387 |
</p> |
388 |
|
389 |
</body> |
390 |
</section> |
391 |
<section> |
392 |
<title>Eri GCC:n versioiden sekakäyttö</title> |
393 |
<body> |
394 |
|
395 |
<p> |
396 |
Jos koneillasi on eri versioita GCC:stä, tulet todennäköisesti törmäämään |
397 |
erittäin outoihin ongelmiin. Ratkaisu on varmistaa, että kaikilla koneilla on |
398 |
sama GCC:n versio. |
399 |
</p> |
400 |
|
401 |
</body> |
402 |
</section> |
403 |
</chapter> |
404 |
|
405 |
<chapter> |
406 |
<title>DistCC:n lisäohjelmat</title> |
407 |
<section> |
408 |
<title>DistCC:n valvontaohjelmat</title> |
409 |
<body> |
410 |
|
411 |
<p> |
412 |
DistCC:n mukana tulee kaksi valvontaohjelmaa. Tekstipohjainen valvontaohjelma |
413 |
käännetään aina, ja sen nimi on <c>distccmon-text</c>. Sen ajaminen ensi |
414 |
kertaa voi olla melko sekavaa, mutta ohjelma on oikeastaan melko |
415 |
helppokäyttöinen. Jos ajat ohjelman ilman parametrejä, se suoritetaan vain |
416 |
kerran. Jos sen sijaan annat sille jonkin numeron N, se jää päälle ja |
417 |
päivittyy aina N:n sekunnin välein. |
418 |
</p> |
419 |
|
420 |
<p> |
421 |
Toinen valvontaohjelma käännetään vain, jos käytit joko <c>gtk</c>- tai |
422 |
<c>gnome</c>-USE-valintaa. Se on GTK+-pohjainen, toimii X-ympäristössä ja on |
423 |
melko rakastettava. |
424 |
</p> |
425 |
|
426 |
|
427 |
<pre caption="Valvontaohjelmien ajaminen"> |
428 |
# <i>distccmon-text N</i> |
429 |
<comment>(tai)</comment> |
430 |
# <i>distccmon-gnome</i> |
431 |
<comment>Portagen valvomiseksi voit käyttää seuraavia komentoja:</comment> |
432 |
# <i>DISTCC_DIR=`portageq envvar DISTCC_DIR` distccmon-text N</i> |
433 |
<comment>(tai)</comment> |
434 |
# <i>DISTCC_DIR=`portageq envvar DISTCC_DIR` distccmon-gnome</i> |
435 |
</pre> |
436 |
|
437 |
<impo> |
438 |
Huomaa aksentit yläpuolella. <c>portageq</c> on Portagen osa, joka palauttaa |
439 |
pyydetyn tiedon (tässä tapauksessa DISTCC_DIR-ympäristömuuttujan sisällön). |
440 |
Yksinkertaisuuden vuoksi useimmille käyttäjille riittää |
441 |
<c>DISTCC_DIR=/var/tmp/portage/.distcc |
442 |
distccmon-text N</c>. |
443 |
</impo> |
444 |
|
445 |
</body> |
446 |
</section> |
447 |
</chapter> |
448 |
</guide> |
449 |
|
450 |
|
451 |
|
452 |
- -- |
453 |
Santtu Pajukanta <japsu@×××.fi> |
454 |
OpenPGP key ID: 0x520A97CC |
455 |
-----BEGIN PGP SIGNATURE----- |
456 |
Version: GnuPG v1.2.6 (GNU/Linux) |
457 |
|
458 |
iD8DBQFBVvzTZzmiiVIKl8wRAkumAJ99wla/I7sce5qj76F7jihYd9VQ+wCeJqGx |
459 |
OsaqIMUYd/D/YTDKeQX88Ss= |
460 |
=NDYH |
461 |
-----END PGP SIGNATURE----- |
462 |
|
463 |
-- |
464 |
gentoo-doc-fi@g.o mailing list |