/[gentoo]/xml/htdocs/doc/en/ltsp.xml
Gentoo

Contents of /xml/htdocs/doc/en/ltsp.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.22 - (hide annotations) (download) (as text)
Sun Sep 28 20:29:25 2008 UTC (5 years, 6 months ago) by nightmorph
Branch: MAIN
Changes since 1.21: +7 -4 lines
File MIME type: application/xml
fixed irc references per council mandate

1 swift 1.1 <?xml version='1.0' encoding="UTF-8"?>
2 nightmorph 1.22 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/ltsp.xml,v 1.21 2008/05/19 21:16:02 swift Exp $ -->
3 swift 1.1 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4    
5     <guide link="/doc/en/ltsp.xml">
6     <title>Gentoo - LTSP Guide</title>
7     <author title="Author">
8 swift 1.21 <mail link="lanius@gentoo.org">Heinrich Wendel</mail>
9 swift 1.1 </author>
10     <author title="Author">
11 swift 1.21 <mail link="josiah@ritchietribe.net">Josiah Ritchie</mail>
12 swift 1.1 </author>
13     <author title="Editor">
14 swift 1.21 <mail link="swift@gentoo.org">Sven Vermeulen</mail>
15 swift 1.1 </author>
16    
17     <abstract>
18     This guide shows you how to setup a LTSP Server with Gentoo.
19     </abstract>
20 swift 1.6
21     <license/>
22    
23 nightmorph 1.22 <version>1.14</version>
24     <date>2008-09-28</date>
25 jkt 1.14
26 swift 1.1 <chapter>
27     <title>Introduction</title>
28     <section>
29     <title>What is LTSP?</title>
30     <body>
31 jkt 1.14
32 swift 1.1 <p>
33 swift 1.21 LTSP is an abbreviation for "Linux Terminal Server Project". Installed
34     on a server it can supply many workstations (so called thin-clients)
35     with identical environments. All applications run on the server and
36     therefore you can use old PCs and convert them into XTerminals. This
37     reduces costs and maintenance especially in an environment where you
38     need to have an uniform workspace on each computer you login, e.g. in
39 swift 1.1 schools or firms.
40     </p>
41 jkt 1.14
42 swift 1.1 </body>
43     </section>
44     </chapter>
45 swift 1.21
46 swift 1.1 <chapter>
47     <title>Installation</title>
48     <section>
49     <title>Preliminaries</title>
50     <body>
51 jkt 1.14
52 swift 1.1 <p>
53 swift 1.21 All of the examples in this document presume that your server's IP is
54     192.168.0.254, your domain is named yourdomain.com and your network is
55 swift 1.1 192.168.0.0/24.
56     </p>
57 jkt 1.14
58 swift 1.1 </body>
59     </section>
60     <section>
61     <title>Installation</title>
62     <body>
63    
64     <p>
65     First of all, you must have a working Gentoo system. Please read the
66     Gentoo Installation Manual for your architecture on <uri
67     link="http://www.gentoo.org/doc">Gentoo's Documentation Website</uri>.
68     </p>
69    
70     <p>
71 swift 1.11 Then lets begin with the easiest step, installing the ltsp package:
72 swift 1.1 </p>
73    
74     <pre caption="Emerge LTSP">
75 swift 1.11 # <i>emerge ltsp</i>
76 swift 1.1 </pre>
77    
78     <p>
79     This will install the following packages as dependencies:
80     </p>
81    
82     <ul>
83 jkt 1.14 <li><b>XFree</b>: They are called XTerminals, guess why :)</li>
84     <li>
85 swift 1.21 <b>DHCP</b>: DHCP is a protocol for automating the configuration of
86     computers that use TCP/IP, used by ltsp to distribute IPs to the
87 jkt 1.14 workstations.
88     </li>
89     <li>
90 swift 1.21 <b>NFS</b>: NFS is a protocol to allow access to harddisks through
91     the network, used by ltsp to mount a base system for the
92 jkt 1.14 workstations.
93     </li>
94     <li>
95 swift 1.21 <b>TFTP</b>: TFTP is a simple file transfer protocol, used by ltsp
96 jkt 1.14 to transfer the kernel to the workstations.
97     </li>
98     <li>
99 swift 1.21 <b>XINETD</b>: Xinetd is a powerful replacement for inetd, with
100 jkt 1.14 advanced features, used by ltsp to start tftp.
101     </li>
102 swift 1.1 </ul>
103    
104     <note>
105 swift 1.21 If you have the kde/gnome useflag set, it will also install a complete kde/gnome
106     system.
107 swift 1.1 </note>
108    
109     </body>
110     </section>
111     </chapter>
112 swift 1.21
113 swift 1.1 <chapter>
114     <title>Configuration</title>
115 swift 1.6 <section>
116 swift 1.1 <body>
117    
118     <p>
119     After the emerge process has finished all services must be configured:
120     </p>
121    
122     </body>
123 swift 1.6 </section>
124 swift 1.1 <section>
125     <title>System Logger</title>
126     <body>
127    
128     <p>
129 swift 1.21 To analyze problems easier, the system logger must be configured to
130 swift 1.1 accept remote connections. Please read the documentation of your
131 swift 1.7 system logger on how to achieve this. If, for example, you are using
132     sysklogd, all you need to do is edit <path>/etc/conf.d/sysklogd</path> and add
133     "-r" to the SYSLOGD line:
134 swift 1.1 </p>
135    
136 swift 1.7 <pre caption="/etc/conf.d/sysklogd">
137     SYSLOGD="-m 0 -r"
138     KLOGD="-c 3 -2"
139     </pre>
140    
141 swift 1.1 </body>
142     </section>
143     <section>
144     <title>NFS</title>
145     <body>
146    
147     <p>
148 swift 1.21 Next step is to edit your <path>/etc/exports</path> file, in order to
149     allow the workstations to mount the root filesystem. There should be at
150 swift 1.1 least two lines in it:
151     </p>
152    
153     <pre caption="/etc/exports">
154 swift 1.10 /opt/ltsp-4.1/i386 192.168.0.0/255.255.255.0(ro,no_root_squash,async)
155 swift 1.1 /var/opt/ltsp/swapfiles 192.168.0.0/255.255.255.0(rw,no_root_squash,async)
156     </pre>
157    
158     <note>
159 swift 1.21 You have to alter the network/netmask to match your network/netmask
160 swift 1.1 settings.
161     </note>
162    
163     <p>
164     Now start NFS.
165     </p>
166    
167     <pre caption="Starting nfs">
168     # <i>rc-update add nfs default</i>
169     # <i>/etc/init.d/nfs start</i>
170     </pre>
171    
172     </body>
173     </section>
174     <section>
175     <title>xinetd/tftp</title>
176     <body>
177 swift 1.7 <p>
178 neysx 1.9 TFTP requires a bit of configuring to get it to work properly. First, edit
179     <path>/etc/conf.d/in.tftpd</path> to set tftpd's options and path correctly:
180 swift 1.7 </p>
181    
182     <pre caption="/etc/conf.d/in.tftpd">
183     INTFTPD_PATH="/tftpboot"
184 neysx 1.9 INTFTPD_OPTS="-s ${INTFTPD_PATH}"
185 swift 1.7 </pre>
186    
187     <p>
188 neysx 1.9 The -s flag specifies that TFTP is to run in secure chrooted mode
189     (recommended). This means that you don't need to include the
190     <path>/tftpboot</path> path for example in the DHCP configuration.
191     </p>
192    
193     <p>
194     Next, configure xinetd to run TFTP and allow remote connections. By default
195     TFTP won't be started by xinetd, so edit <path>/etc/xinetd.d/tftp</path> and
196     replace <c>disable=yes</c> with <c>disable=no</c>. If the file is missing just
197     go ahead and create <path>/etc/xinetd.d/tftp</path> with the contents below.
198 swift 1.7 </p>
199    
200     <pre caption="/etc/xinetd.d/tftp">
201     service tftp
202     {
203     disable = no
204     socket_type = dgram
205     protocol = udp
206     wait = yes
207     user = root
208     server = /usr/sbin/in.tftpd
209 swift 1.12 server_args = -s /tftpboot
210 swift 1.7 }
211     </pre>
212 swift 1.1
213     <p>
214 swift 1.21 Now edit <path>/etc/xinetd.conf</path> and comment out the line <c>only_from =
215     localhost</c> by prefacing it with a <c>#</c>. Finally, start xinetd.
216 swift 1.1 </p>
217    
218     <pre caption="Starting xinetd">
219     # <i>rc-update add xinetd default</i>
220     # <i>/etc/init.d/xinetd start</i>
221     </pre>
222    
223     </body>
224     </section>
225     <section>
226     <title>Name resolving</title>
227     <body>
228    
229     <p>
230     In order for the workstation to reach all resources, a correct name
231     resolving must be available. There are several ways to achieve this. One
232     is to configure a DNS server for the local network, the other (and more
233     simple) is to have almost identical <path>/etc/hosts</path> files on all
234     systems. We are going to use the latter.
235     </p>
236    
237     <p>
238 swift 1.21 All workstations must be listed in <path>/etc/hosts</path>. Take a look
239 swift 1.1 at the example:
240 swift 1.21 </p>
241 swift 1.1
242     <pre caption="/etc/hosts">
243     127.0.0.1 localhost
244     192.168.0.254 server server.yourdomain.com
245 neysx 1.9 192.168.0.1 ws001 ws001.yourdomain.com
246 swift 1.1 </pre>
247    
248     </body>
249     </section>
250     <section>
251     <title>DHCP Config</title>
252     <body>
253    
254     <p>
255 swift 1.21 This is the most complicated step in my opinion, you have to create a
256     valid DHCP Config (<path>/etc/dhcp/dhcpd.conf</path>). Here is an
257 swift 1.1 example:
258     </p>
259    
260     <pre caption = "dhcpd.conf">
261 neysx 1.13 <comment>(Some general options)</comment>
262 swift 1.1 default-lease-time 21600;
263     max-lease-time 21600;
264     use-host-decl-names on;
265     ddns-update-style ad-hoc;
266    
267 neysx 1.13 <comment>(Bootp options)</comment>
268 swift 1.1 allow booting;
269     allow bootp;
270    
271 neysx 1.13 <comment>(Network Options)</comment>
272 swift 1.1 option subnet-mask 255.255.255.0;
273     option broadcast-address 192.168.0.255;
274     option routers 192.168.0.254;
275     option domain-name-servers 192.168.0.254;
276     option log-servers 192.168.0.254;
277     option domain-name "yourdomain.com";
278    
279 neysx 1.13 <comment>(LTSP Path Options)</comment>
280 swift 1.10 option root-path "192.168.0.254:/opt/ltsp-4.1/i386";
281     filename "/lts/vmlinuz-2.4.26-ltsp-2";
282 fox2mike 1.15 <comment>(Address of the tftp server to download the ltsp file from)</comment>
283 neysx 1.16 next-server 192.168.0.254;
284 swift 1.1
285 neysx 1.13 <comment>(If your workstations have ISA NICs uncomment the following)</comment>
286     <comment>(lines and alter the driver and IO)</comment>
287 swift 1.1 #option option-128 code 128 = string;
288     #option option-129 code 129 = text;
289     #option option-128 e4:45:74:68:00:00;
290     #option option-129 "NIC=ne IO=0x300";
291    
292     shared-network WORKSTATIONS {
293     subnet 192.168.0.0 netmask 255.255.255.0 {
294 neysx 1.13 <comment>(Distribute dynamic IPs to the workstations)</comment>
295 neysx 1.9 range dynamic-bootp 192.168.0.1 192.168.0.16;
296 neysx 1.13 <comment>(Workstation specific configuration for PXE booting)</comment>
297 swift 1.1 #host ws001 {
298     # hardware ethernet 00:E0:06:E8:00:84;
299     # fixed-address 192.168.0.1;
300     #}
301     }
302     }
303     </pre>
304    
305     <p>
306     If your workstations support PXE, you should list each one of them as we
307     have done with <e>host ws001</e> (don't forget to uncomment it). Don't
308     give them an adress in the dynamic range, otherwise it would be possible
309 swift 1.21 that more workstations have the same IP (which is troublesome). Remember,
310     if you cut-n-paste the above example, replace any "//" comments with "##",
311     or else dhcp will fail to start.
312 swift 1.1 </p>
313    
314     <p>
315 swift 1.21 For more documentation on this item read the official dhcp handbook:
316 swift 1.1 <uri>http://www.dhcp-handbook.com/</uri>
317     </p>
318    
319     <p>
320     Now start DHCP as you did with NFS and xinetd:
321     </p>
322    
323 swift 1.3 <pre caption="start dhcp">
324 swift 1.1 # <i>rc-update add dhcp default</i>
325     # <i>/etc/init.d/dhcp start</i>
326     </pre>
327    
328     <note>
329 swift 1.3 DHCPD needs CONFIG_PACKET and CONFIG_FILTER activated in the kernel to work.
330 swift 1.1 </note>
331    
332     </body>
333     </section>
334     <section>
335     <title>LTSP Configuration</title>
336     <body>
337    
338     <p>
339 nightmorph 1.19 There are many options to configure your workstations, visit
340     <uri>http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-en.html#AEN1190</uri>
341 swift 1.1 for a full description of <path>/opt/ltsp/i386/etc/lts.conf</path>.
342     </p>
343    
344 swift 1.7 <p>
345 swift 1.21 As a few suggestions to get started, you will want to first copy
346     <path>/opt/ltsp/i386/etc/lts.conf.example</path> to
347     <path>/opt/ltsp/i386/etc/lts.conf</path> and edit it from there. You may want
348     to try changing the <c>SCREEN_01</c> option to read <c>SCREEN_01 = startx</c>.
349     To use a USB mouse on the remote client, add the following MODULE lines, and
350     change the X_MOUSE_* lines as follows:
351 swift 1.7 </p>
352    
353     <pre caption="/opt/ltsp/i386/etc/lts.conf">
354     MODULE_01 = usb-uhci
355     MODULE_02 = mousedev
356     MODULE_03 = usbmouse
357     X_MOUSE_PROTOCOL = "IMPS/2"
358     X_MOUSE_DEVICE = "/dev/input/mice"
359     </pre>
360    
361 swift 1.1 </body>
362     </section>
363     <section>
364     <title>Displaymanager</title>
365     <body>
366    
367     <p>
368 swift 1.21 Now you have to change your displaymanager's configuration to
369 swift 1.1 also accept remote connections.
370     </p>
371    
372     <p>
373 neysx 1.9 First change your <path>/etc/X11/xdm/Xaccess</path> file,
374     uncomment the following line:
375 swift 1.5 </p>
376    
377 neysx 1.9 <pre caption="/etc/X11/xdm/Xaccess">
378 swift 1.5 #* #any host can get a login window
379     </pre>
380    
381     <p>
382     Now change the configuration of the displaymanager you use:
383     </p>
384    
385     <p>
386 swift 1.21 <b>XDM</b>: In <path>/etc/X11/xdm/xdm-config</path> comment out
387     <c>DisplayManager.requestPort: 0</c>
388 swift 1.1 </p>
389    
390     <p>
391 swift 1.21 <b>KDM</b>: In <path>/usr/kde/3.1/share/config/kdm/kdmrc</path> look
392     for the <c>[Xdmcp]</c> section and change <c>Enable = false</c> to
393 swift 1.1 <c>Enable = true</c>.
394     </p>
395    
396     <p>
397 swift 1.21 <b>GDM</b>: In <path>/etc/X11/gdm/gdm.conf</path> look for the
398     <c>[xdmcp]</c> section and change <c>Enable = false</c> to
399 swift 1.1 <c>Enable = True</c>.
400     </p>
401    
402     <p>
403     Then start the displaymanager:
404     </p>
405    
406     <pre caption="Starting xdm">
407     # <i>rc-update add xdm default</i>
408     # <i>/etc/init.d/xdm start</i>
409     </pre>
410    
411     <warn>
412     There seem to be problems currently with XDM and GDM. The author used
413     KDM to resolve these issues.
414     </warn>
415    
416 swift 1.7 <p>
417 swift 1.21 Remember, if your display manager is already running, restarting the X server
418     via CTRL-ALT-BACKSPACE doesn't restart the display manager.
419 swift 1.7 </p>
420    
421 swift 1.1 </body>
422     </section>
423     <section>
424     <title>Creating a bootfloppy</title>
425     <body>
426    
427     <p>
428 neysx 1.9 If your workstations don't support PXE booting, you can create a boot-floppy
429     which is used to start your workstations and connect to the terminal server.
430     Go to <uri>http://www.rom-o-matic.net</uri>, select the latest version, select
431     your NIC, press <e>Get ROM</e> and write the image to a floppy:
432 swift 1.1 </p>
433    
434 swift 1.3 <pre caption="Write floppy image">
435 neysx 1.9 # <i>cat nicfile.zdsk > /dev/fd0</i>
436 swift 1.1 </pre>
437    
438     </body>
439     </section>
440     </chapter>
441    
442     <chapter>
443     <title>Troubleshooting</title>
444 swift 1.6 <section>
445 swift 1.1 <body>
446    
447     <p>
448 swift 1.21 There are a lot of things that can be the source of trouble, but there
449 swift 1.1 are also several resources around which help you solve your problems:
450     </p>
451    
452     <ul>
453 nightmorph 1.19 <li>
454     The official documentation:
455     <uri>http://wiki.ltsp.org/twiki/bin/view/Ltsp/Documentation</uri>,
456 swift 1.21 especially the
457 nightmorph 1.20 <uri link="http://wiki.ltsp.org/twiki/bin/view/Ltsp/TroubleShooting">
458     Troubleshooting section</uri>.
459 nightmorph 1.19 </li>
460 nightmorph 1.22 <li>
461     The gentoo IRC channel: <uri
462     link="irc://irc.gentoo.org/gentoo">#gentoo</uri>
463     </li>
464 swift 1.21 <li>The ltsp irc channel: irc.freenode.org #ltsp</li>
465 nightmorph 1.19 <li>
466 nightmorph 1.20 The ltsp mailinglists <uri>http://marc.info/?l=ltsp-discuss</uri> are full
467 nightmorph 1.19 of some real good knowledge.
468     </li>
469 swift 1.1 </ul>
470 swift 1.21
471 swift 1.1 </body>
472 swift 1.6 </section>
473 swift 1.1 </chapter>
474    
475     <chapter>
476     <title>FAQ</title>
477 swift 1.6 <section>
478 swift 1.1 <body>
479 swift 1.21
480 swift 1.1 <p>
481 swift 1.21 <b>Q:</b> My workstations have Pentium II CPUs, but my server is compiled
482 swift 1.1 with <c>march=athlon-xp</c>, does this work?
483     </p>
484    
485     <p>
486     <b>A:</b> This is no problem, because all applications run on the server.
487     </p>
488    
489     <p>
490     <b>Q:</b> Which CPU and how much RAM should the server have?
491     </p>
492    
493     <p>
494 swift 1.21 <b>A:</b> There is a good document with suggestions at
495 nightmorph 1.20 <uri>http://wiki.ltsp.org/twiki/bin/view/Ltsp/ServerSizing</uri>.
496 swift 1.1 </p>
497    
498     <p>
499     <b>Q:</b> Do you have more information about this PXE stuff?
500     </p>
501    
502     <p>
503 swift 1.21 <b>A:</b> Yes, take a look at
504 nightmorph 1.20 <uri>http://wiki.ltsp.org/twiki/bin/view/Ltsp/PXE</uri>.
505 swift 1.1 </p>
506    
507     <p>
508     <b>Q:</b> Is it possibly to use 3D-Accelerated software on the workstations?
509     </p>
510    
511     <p>
512 swift 1.21 <b>A:</b> If you are using NVidia cards take a look at
513 nightmorph 1.20 <uri>http://wiki.ltsp.org/twiki/bin/view/Ltsp/NvidiaLtsp411</uri>.
514 swift 1.1 </p>
515    
516     <p>
517 swift 1.3 <b>Q:</b> In some applications the fonts look crappy, what to do?
518 swift 1.1 </p>
519    
520     <p>
521 swift 1.21 <b>A:</b> You have to setup the XFontServer, add <c>USE_XFS=Y</c> to your
522     <path>lts.conf</path>, edit <path>/etc/X11/fs/config</path> and comment
523     <c>no-listen: tcp</c> out, replace <c>XFS_PORT="-1"</c> with
524     <c>XFS_PORT="7100"</c> in <path>/etc/conf.d/xfs</path> and start xfs:
525 swift 1.8 <c>/etc/init.d/xfs start</c>. Also doublecheck that
526     <path>/etc/X11/XF86Config</path> (or <path>/etc/X11/xorg.conf</path>) contains
527     <c>FontPath "unix/:7100"</c> in the Files-section.
528 swift 1.2 </p>
529    
530 swift 1.5 <p>
531     <b>Q: </b> How can I use the soundcard of my workstation?
532     </p>
533    
534     <p>
535     <b>A: </b> There is a ltsp-sound package in gentoo, for more instructions read
536     the included <path>README</path> file.
537     </p>
538    
539 swift 1.2 </body>
540 swift 1.6 </section>
541 swift 1.2 </chapter>
542    
543     <chapter>
544     <title>Glossary</title>
545 swift 1.6 <section>
546 swift 1.2 <body>
547    
548     <p>
549 swift 1.3 <b><uri link="http://www.ltsp.org">LTSP</uri></b>
550     "The LTSP provides a simple way to utilize low cost workstations as either
551 swift 1.2 graphical or character based terminals on a GNU/Linux server."
552     </p>
553    
554     <p>
555 swift 1.3 <b><uri link="http://www.webopedia.com/TERM/P/PXE.html">PXE</uri></b>
556 swift 1.21 "Short for Pre-Boot Execution Environment. Pronounced pixie, PXE is one of the
557     components of Intel's WfM specification. It allows a workstation to boot from
558     a server on a network prior to booting the operating system on the local hard
559     drive. A PXE-enabled workstation connects its NIC to the LAN via a jumper,
560 swift 1.2 which keeps the workstation connected to the network even when the power is
561     off."
562 swift 1.1 </p>
563    
564     </body>
565 swift 1.6 </section>
566 swift 1.1 </chapter>
567     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20