/[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.11 - (hide annotations) (download) (as text)
Wed Oct 13 17:43:44 2004 UTC (9 years, 9 months ago) by swift
Branch: MAIN
Changes since 1.10: +5 -6 lines
File MIME type: application/xml
Emerge ltsp, not ltsp-core

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

  ViewVC Help
Powered by ViewVC 1.1.20