/[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.10 - (hide annotations) (download) (as text)
Sat Oct 9 13:10:39 2004 UTC (9 years, 6 months ago) by swift
Branch: MAIN
Changes since 1.9: +6 -6 lines
File MIME type: application/xml
#65751 - Update guide to reflect new ltsp core

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

  ViewVC Help
Powered by ViewVC 1.1.20