/[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.14 - (hide annotations) (download) (as text)
Thu Jul 28 12:34:06 2005 UTC (9 years ago) by jkt
Branch: MAIN
Changes since 1.13: +26 -13 lines
File MIME type: application/xml
Coding style fixes (formatting & <date>), *no content change*

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

  ViewVC Help
Powered by ViewVC 1.1.20