26 |
<mail link="broeman@gentoo.org">Jesper Brodersen</mail> |
<mail link="broeman@gentoo.org">Jesper Brodersen</mail> |
27 |
</author> |
</author> |
28 |
|
|
29 |
<version>1.2.2</version> |
<version>1.2.4</version> |
30 |
<date>9. Oktober 2003</date> |
<date>9. Oktober 2003</date> |
31 |
|
|
32 |
<license/> |
<license/> |
51 |
|
|
52 |
</body> |
</body> |
53 |
</section> |
</section> |
54 |
|
</chapter> |
55 |
|
|
56 |
|
<chapter> |
57 |
|
<title>Opsætning</title> |
58 |
<section> |
<section> |
59 |
<title>Afhængigheder</title> |
<title>Afhængigheder</title> |
60 |
<body> |
<body> |
61 |
<pre caption="Distcc Afhængigheder"> |
<pre caption="Distcc Afhængigheder (fra 2.8 til 2.10)"> |
62 |
>=sys-apps/portage-2.0.46-r11 |
>=sys-apps/portage-2.0.46-r11 |
63 |
|
<codenote>Distcc-2.11 og senere kræver >=sys-apps/portage-2.0.49-r6</codenote> |
64 |
>=sys-devel/gcc-config-1.3.1 |
>=sys-devel/gcc-config-1.3.1 |
65 |
sys-apps/shadow |
sys-apps/shadow |
66 |
<codenote>Distcc har følgende valgfrie afhængigheder, når du har |
<codenote>(Fra version 2.8 og op til 2.11) og følgende valgfrie afhængigheder, når du har |
67 |
<c>gtk</c> i dine <c>USE</c> flag (fra version 2.8)</codenote> |
<c>gtk</c> i dine <c>USE</c>-flag:</codenote> |
68 |
>=x11-libs/gtk+-2.2.1 |
>=x11-libs/gtk+-2.2.1 |
69 |
</pre> |
</pre> |
70 |
|
|
71 |
|
<pre caption="Distcc Afhængigheder (før 2.11.1)"> |
72 |
|
>=sys-apps/portage-2.0.49-r6 |
73 |
|
>=sys-devel/gcc-config-1.3.1 |
74 |
|
sys-apps/shadow |
75 |
|
<codenote>I denne udgave, kan du vælge imellem en Gnome og GTK grafisk overvåger (GUI-monitor), og de har følgende tilføjet afhængigheder:</codenote> |
76 |
|
<codenote>Til GTK:</codenote> |
77 |
|
>=x11-libs/gtk+-2.0.0 |
78 |
|
>=gnome-base/libglade-2.0.0 |
79 |
|
x11-libs/pango |
80 |
|
<codenote>Til Gnome:</codenote> |
81 |
|
>=x11-libs/gtk+-2.0.0 |
82 |
|
>=gnome-base/libglade-2.0.0 |
83 |
|
x11-libs/pango |
84 |
|
>=gnome-base/libgnomeui-2.0.0.0 |
85 |
|
>=gnome-base/libgnome-2.0.0 |
86 |
|
</pre> |
87 |
|
</body> |
88 |
|
</section> |
89 |
|
|
90 |
|
<section> |
91 |
|
<title>Installation af Distcc</title> |
92 |
|
<body> |
93 |
|
|
94 |
|
<p> |
95 |
|
At installere Distcc er meget let. Du skal simpelthen bare sætte dine USE-flag og <c>emerge distcc</c>. Men der er nogle indstillinger, du burde vide om. |
96 |
|
</p> |
97 |
|
|
98 |
|
<p> |
99 |
|
Distcc sendes med en grafisk overvåger til at overvåge opgaver, som din computer sender afsted til kompileringen. Hvis du bruger Gnome, så put 'gnome' i dine USE-flag. Imens, hvis du ikke bruger Gnome og stadigvæk vil have overvågeren, så skal du putte 'gtk' i dine USE-flag. |
100 |
|
</p> |
101 |
|
|
102 |
</body> |
</body> |
103 |
</section> |
</section> |
|
</chapter> |
|
104 |
|
|
|
<chapter> |
|
|
<title>Opsætning</title> |
|
105 |
<section> |
<section> |
106 |
<title>At sætte Portage op til at bruge Distcc</title> |
<title>At sætte Portage op til at bruge Distcc</title> |
107 |
<body> |
<body> |
114 |
<pre caption="Integration af Distcc og Portage"> |
<pre caption="Integration af Distcc og Portage"> |
115 |
# <i>emerge distcc</i> |
# <i>emerge distcc</i> |
116 |
# <i>nano -w /etc/make.conf</i> |
# <i>nano -w /etc/make.conf</i> |
|
<note>Husk at ændre dine FEATURES flags til at indeholde |
|
|
"distcc"</note> |
|
|
<note>Indstil <c>DISTCC_DIR=${PORTAGE_TMPDIR}/portage/.distcc</c></note> |
|
|
<note>Du burde også udkommentere DISTCC_TMPDIR linjen i <path>/etc/conf.d/distccd</path>.</note> |
|
117 |
</pre> |
</pre> |
118 |
|
|
119 |
|
<impo> |
120 |
|
Hvis du bruger distcc-2.11.1 eller nyere med >=portage-2.0.49-r6, så skal du kun indstille dine hosts (se næste kode-blok), modificere MAKEOPTS i <path>/etc/make.conf</path>, og tilføje 'distcc' til FEATURES i <path>/etc/make.conf</path>. |
121 |
|
</impo> |
122 |
|
|
123 |
|
<note> |
124 |
|
Redigér dine FEATURES-flag til at indeholde "distcc" |
125 |
|
</note> |
126 |
|
|
127 |
|
<note> |
128 |
|
Du burde også udkommentere PORTAGE_TMPDIR-linien i <path>/etc/make.conf</path> |
129 |
|
</note> |
130 |
|
|
131 |
|
<note> |
132 |
|
Indstil <c>DISTCC_DIR=${PORTAGE_TMPDIR}/portage/.distcc</c> nær slutningen af filen (sidste linie er okay). |
133 |
|
</note> |
134 |
|
|
135 |
<p> |
<p> |
136 |
Derefter skal du specificere hvilken vært du vil bruge. For at gøre |
Derefter skal du specificere hvilken vært du vil bruge. For at gøre |
137 |
dette kan du bruge kommandoen <i>distcc-config</i> for at lave denne |
dette kan du bruge kommandoen <i>distcc-config</i> for at lave denne |
152 |
Linie 1 er bare en pladsbegrænsende liste af værter, der bruger |
Linie 1 er bare en pladsbegrænsende liste af værter, der bruger |
153 |
standard (default) af alle ting. Linie 2 er en liste af værter, der |
standard (default) af alle ting. Linie 2 er en liste af værter, der |
154 |
specificerer det maksimale antal af jobs (ved at bruge /N) der højest |
specificerer det maksimale antal af jobs (ved at bruge /N) der højest |
155 |
kan sendes til en vært på ethvert givent tidspunkt. Da de fleste folk |
kan sendes til en vært på ethvert givent tidspunkt (specificeret med <c>/n</c>). |
156 |
ikke kommer til at bruge linerne 3 og 4, vil jeg blot pege på <uri |
Da de fleste folk ikke kommer til at bruge linerne 3 og 4, vil jeg blot pege på <uri |
157 |
link="http://distcc.samba.org/man/distcc_1.html">distcc docs</uri> for |
link="http://distcc.samba.org/man/distcc_1.html">distcc docs</uri> for |
158 |
at få mere information. |
at få mere information. |
159 |
</p> |
</p> |
175 |
# <i>nano -w /etc/make.conf</i> |
# <i>nano -w /etc/make.conf</i> |
176 |
MAKE_OPTS=-jN |
MAKE_OPTS=-jN |
177 |
</pre> |
</pre> |
178 |
<impo>Glem ikke at starte distcc daemon! <c>/etc/init.d/distccd start</c></impo> |
|
179 |
|
<impo> |
180 |
|
Glem ikke at starte distcc daemon! <c>/etc/init.d/distccd start</c> |
181 |
|
</impo> |
182 |
|
|
183 |
</body> |
</body> |
184 |
</section> |
</section> |
185 |
|
|
253 |
<chapter> |
<chapter> |
254 |
<title>Brug af distcc til bootstrap</title> |
<title>Brug af distcc til bootstrap</title> |
255 |
<section> |
<section> |
256 |
<title>Trin 1: Bygning af tarball</title> |
<title>Trin 1: Indstilling a ny computer</title> |
257 |
<body> |
<body> |
258 |
<p>Denne sektion er behjælpelig, hvis du vil bruge distcc imens Gentoo installeres. Overraskende er det ikke svært. Hvad du skal bruge, er en anden computer, som kører Gentoo, og en mulighed for at overføre tarball'en til dit nye system (jeg bruger scp).</p> |
<p>Det næste du skal gøre, er at starte din nye computer med en Gentoo Linux LiveCD og følge alle trin op til bootstrapping. Så følg denne lille indledende vejledning på den nye computer. |
259 |
<p>Først skal du bygge en tarball af distcc og inkludere et bibliotek (<path>/usr/lib/libpopt.so.*</path>).</p> |
</p> |
|
<pre caption="Bygning af tarball"> |
|
|
# <i>USE='-gtk -selinux' emerge --buildpkg distcc</i> |
|
|
# <i>mkdir -p /tmp/distcc/usr/lib</i> |
|
|
# <i>cp /usr/portage/packages/sys-devel/distcc-DISTCC_VERSION.tbz2 /tmp/distcc/</i> |
|
|
# <i>cp /usr/lib/libpopt.so.* /tmp/distcc/usr/lib</i> |
|
|
# <i>cd /tmp/distcc</i> |
|
|
# <i>tar cfzv distcc.tar.gz *</i> |
|
|
<codenote>Vær sikker på at erstatte DISTCC_VERSION med den version (og Gentoo revision) af distcc, <i>som 2.10-r1</i></codenote> |
|
|
</pre> |
|
|
</body> |
|
|
</section> |
|
260 |
|
|
|
<section> |
|
|
<title>Trin 2: Indstilling på ny computer</title> |
|
|
<body> |
|
|
<impo>Glem ikke at starte sshd og slette root-kodeord for LiveCDen!</impo> |
|
|
<p>Det næste du skal gøre, er at opstarte din nye computer med Gentoo Linux LiveCD og følge alle trin op til bootstrapping. Derfra fortsætter du med denne opsætning inden du fortsætter videre med installationen af den nye computer.</p> |
|
261 |
<pre caption="Indledende indstillinger"> |
<pre caption="Indledende indstillinger"> |
262 |
<codenote>Her tilføjer vi distcc til FEATURES</codenote> |
<codenote>Her tilføjer vi distcc til FEATURES</codenote> |
263 |
# <i>echo "FEATURES=\"\${FEATURES} distcc\"" >> /etc/make.conf</i> |
# <i>nano -w /etc/make.conf</i> |
264 |
<codenote>Du kan også bruge <i>nano</i> til at redigere <path>/etc/make.conf</path> og manuelt tilføje distcc til FEATURES.</codenote> |
|
265 |
# <i>echo "MAKEOPTS=\"\${MAKEOPTS} -jN\"" >> /etc/make.conf</i> |
<codenote>Tilføj "distcc" til FEATURES</codenote> |
266 |
<codenote>Lige som foroven, kan du bruge <i>nano</i> til at redigere <path>/etc/make.conf</path> og manuelt ændre MAKEOPTS.</codenote> |
|
267 |
</pre> |
<codenote>Modificér MAKEOPTS i <path>/etc/make.conf til at indeholde -jN (som beskrevet foroven)</path></codenote> |
268 |
<p>Derefter, tilføj distcc brugeren til din <path>/etc/passwd</path>:</p> |
|
269 |
<pre caption="Tilføj distcc brugeren til /etc/passwd"> |
</pre> |
270 |
|
|
271 |
|
<p> |
272 |
|
Derefter, tilføj distcc brugeren til din <path>/etc/passwd</path>: |
273 |
|
</p> |
274 |
|
|
275 |
|
<pre caption="Tilføj distcc brugeren til /etc/passwd"> |
276 |
# <i>echo "distcc:x:240:2:distccd:/dev/null:/bin/false" >>/etc/passwd</i> |
# <i>echo "distcc:x:240:2:distccd:/dev/null:/bin/false" >>/etc/passwd</i> |
277 |
<codenote>Glem ikke `<i>>></i>'</codenote> |
<codenote>Glem ikke `<i>>></i>'</codenote> |
278 |
</pre> |
</pre> |
279 |
</body> |
|
280 |
|
</body> |
281 |
</section> |
</section> |
282 |
<section> |
<section> |
283 |
<title>Trin 3: Kopiering af tarball</title> |
<title>Trin 2: At få fat i Distcc</title> |
284 |
<body> |
<body> |
285 |
<p>Nu burde du kopiere distcc-tarball'en, som du har lavet.</p> |
<p> |
286 |
<pre caption="Kopiering af tarball til ny computer"> |
Nu burde du udføre den følgende kommando inden i chroot på den nye computer. |
287 |
<codenote>Kør dette på den "gamle" computer</codenote> |
</p> |
288 |
# <i>scp /tmp/distcc/distcc.tar.gz root@ip.på.ny.computer:/mnt/gentoo/</i> |
|
289 |
<codenote>Erstat <i>ip.på.ny.computer</i> med din nye computers IP-adresse.</codenote> |
<pre caption="Få fat i Distcc på den nye computer"> |
290 |
|
# <i>emerge --nodeps distcc</i> |
291 |
</pre> |
</pre> |
292 |
|
|
293 |
</body> |
</body> |
294 |
</section> |
</section> |
295 |
<section> |
<section> |
296 |
<title>Trin 4: Udpakning af tarball</title> |
<title>Trin 3: Indstillingen af distcc selv</title> |
|
<body> |
|
|
<pre caption="Udpakning af tarball"> |
|
|
# <i>tar xvfz distcc.tar.gz</i> |
|
|
# <i>tar xvfjp distcc-DISTCC_VERSION.tbz2</i> |
|
|
<codenote>Vær sikker på at erstatte DISTCC_VERSION med den version (og Gentoo revision) af distcc, <i>som 2.10-r1</i></codenote> |
|
|
</pre> |
|
|
</body> |
|
|
</section> |
|
|
<section> |
|
|
<title>Trin 5: Indstillingen af distcc selv</title> |
|
297 |
<body> |
<body> |
298 |
<p>Nu, indstil selve distcc...</p> |
<p>Nu, indstil selve distcc...</p> |
299 |
<pre caption="Afsluttende distcc opsætning"> |
<pre caption="Afsluttende distcc opsætning"> |
300 |
# <i>/usr/bin/distcc-config --install</i> |
# <i>/usr/bin/distcc-config --install</i> |
301 |
# <i>/usr/bin/distcc-config --set-hosts "localhost host1 host2 host3 ..."</i> |
# <i>/usr/bin/distcc-config --set-hosts "localhost host1 host2 host3 ..."</i> |
302 |
</pre> |
</pre> |
303 |
<p>distcc burde nu være sat op til bootstrap! Fortsæt med den officielle installationsvejledning, og glem ikke at gen-emerge distcc efter <c>emerge system</c>.</p> |
<p> |
304 |
</body> |
distcc burde nu være sat op til bootstrap! Fortsæt med den officielle installationsvejledning, og glem ikke at gen-emerge distcc efter <c>emerge system</c>. |
305 |
|
</p> |
306 |
|
|
307 |
|
</body> |
308 |
</section> |
</section> |
309 |
</chapter> |
</chapter> |
310 |
|
|
311 |
<chapter> |
<chapter> |
312 |
<title>Kendte problemer med Distcc</title> |
<title>Fejlfinding</title> |
313 |
|
|
314 |
<section> |
<section> |
315 |
<title>Mozilla og XFree</title> |
<title>Mozilla og XFree</title> |
334 |
<section> |
<section> |
335 |
<title>En blanding af modstandsdygtig-gcc og ikke-modstandsdygtig-gcc værter vil være fejlfuld.</title> |
<title>En blanding af modstandsdygtig-gcc og ikke-modstandsdygtig-gcc værter vil være fejlfuld.</title> |
336 |
<body> |
<body> |
337 |
<p>Med sådan en lang titel, er næsten alt forklaring unødvendigt. Men, hvis du planlægger at bruge distcc spredt over værter, som bruger <uri link="http://www.gentoo.org/proj/en/hardened/etdyn-ssp.xml">PaX/hardened-gcc</uri> modstandsdygtig projekt, og andre ikke har, vil du løbe ind i problemer.</p> |
<p> |
338 |
<p>Løsningen kræver en lille smule fremsynethed fra din side; du bliver nødt til at køre <c>hardened-gcc -R</c> på væreten, som har PaX/hardened-gcc, eller du bliver nødt til at aktivere PaX beskyttelser i din kerne og <c>emerge hardened-gcc</c>. Begge ting er godt at gør, siden for det meste er beskyttelserne tilbud af begge pakker, og det er en god idé at være transparent over for brugeren.</p> |
Med sådan en lang titel, er næsten alt forklaring unødvendigt. Men, hvis du planlægger at bruge distcc spredt over værter, som bruger <uri link="http://www.gentoo.org/proj/en/hardened/etdyn-ssp.xml">PaX/hardened-gcc</uri> modstandsdygtig projekt, og andre ikke har, vil du løbe ind i problemer. |
339 |
</body> |
</p> |
340 |
|
|
341 |
|
<p> |
342 |
|
Løsningen kræver en lille smule fremsynethed fra din side; du bliver nødt til at køre <c>hardened-gcc -R</c> på væreten, som har PaX/hardened-gcc, eller du bliver nødt til at aktivere PaX beskyttelser i din kerne og <c>emerge hardened-gcc</c>. Begge ting er godt at gør, siden for det meste er beskyttelserne tilbud af begge pakker, og det er en god idé at være transparent over for brugeren. |
343 |
|
</p> |
344 |
|
|
345 |
|
</body> |
346 |
</section> |
</section> |
347 |
<section> |
<section> |
348 |
<title>GCC-versionsmix</title> |
<title>GCC-versionsmix</title> |
349 |
<body> |
<body> |
350 |
<p>Hvis du har forskellige versioner af GCC på dine værter, vil der sikkert opstå mærkelige problemer. Løsningen er at blive sikker på at alle væreter bruger samme GCC-version.</p> |
<p> |
351 |
</body> |
Hvis du har forskellige versioner af GCC på dine værter, vil der sikkert opstå mærkelige problemer. Løsningen er at blive sikker på at alle væreter bruger samme GCC-version. |
352 |
|
</p> |
353 |
|
|
354 |
|
</body> |
355 |
</section> |
</section> |
356 |
</chapter> |
</chapter> |
357 |
<chapter> |
<chapter> |
372 |
<p> |
<p> |
373 |
Det andet overvågningsværktøj findes kun hvis du har <c>gtk</c> i dit |
Det andet overvågningsværktøj findes kun hvis du har <c>gtk</c> i dit |
374 |
<c>USE</c> flag. Denne er baseret på GTK+ og kører i et X miljø, og er |
<c>USE</c> flag. Denne er baseret på GTK+ og kører i et X miljø, og er |
375 |
faktisk ret dejlig. |
faktisk ret dejligt. |
376 |
</p> |
</p> |
377 |
|
|
378 |
<p> |
<p> |
382 |
</p> |
</p> |
383 |
|
|
384 |
<pre caption="At starte overvågningsværktøjerne"> |
<pre caption="At starte overvågningsværktøjerne"> |
385 |
# <i>sudo -u portage distccmon-text N</i> |
# <i>DISTCC_DIR=/sti/til/distccdir distccmon-text N</i> |
386 |
<codenote>Eller du kan starte den grafiske overvåger...</codenote> |
<codenote>Eller du kan starte den grafiske overvåger...</codenote> |
387 |
# <i>sudo -u portage distccmon-gnome</i> |
# <i>DISTCC_DIR=/sti/til/distccdir distccmon-gnome</i> |
388 |
</pre> |
</pre> |
389 |
|
|
390 |
|
<impo> |
391 |
|
Hvis du bruger Portage og brugte ovenstående eksemple, vil det være |
392 |
|
<c>DISTCC_DIR=/var/tmp/portage/.distcc</c>. |
393 |
|
</impo> |
394 |
|
|
395 |
|
<note> |
396 |
|
Hvis du ikke bruger Portage, behøver du ikke at specificere DISTCC_DIR (med andre ord, bare taste distccmon-text N). |
397 |
|
</note> |
398 |
|
|
399 |
</body> |
</body> |
400 |
</section> |
</section> |
401 |
</chapter> |
</chapter> |
436 |
</body> |
</body> |
437 |
</section> |
</section> |
438 |
</chapter> |
</chapter> |
|
|
|
439 |
</guide> |
</guide> |