/[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.20 - (hide annotations) (download) (as text)
Thu May 3 05:56:27 2007 UTC (7 years, 4 months ago) by nightmorph
Branch: MAIN
Changes since 1.19: +10 -9 lines
File MIME type: application/xml
url updates, bug 176854

1 swift 1.1 <?xml version='1.0' encoding="UTF-8"?>
2 nightmorph 1.20 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/ltsp.xml,v 1.19 2006/12/23 03:55:47 nightmorph 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 nightmorph 1.18 <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.20 <version>1.13</version>
24     <date>2007-05-02</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     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 fox2mike 1.15 <comment>(Address of the tftp server to download the ltsp file from)</comment>
280 neysx 1.16 next-server 192.168.0.254;
281 swift 1.1
282 neysx 1.13 <comment>(If your workstations have ISA NICs uncomment the following)</comment>
283     <comment>(lines and alter the driver and IO)</comment>
284 swift 1.1 #option option-128 code 128 = string;
285     #option option-129 code 129 = text;
286     #option option-128 e4:45:74:68:00:00;
287     #option option-129 "NIC=ne IO=0x300";
288    
289     shared-network WORKSTATIONS {
290     subnet 192.168.0.0 netmask 255.255.255.0 {
291 neysx 1.13 <comment>(Distribute dynamic IPs to the workstations)</comment>
292 neysx 1.9 range dynamic-bootp 192.168.0.1 192.168.0.16;
293 neysx 1.13 <comment>(Workstation specific configuration for PXE booting)</comment>
294 swift 1.1 #host ws001 {
295     # hardware ethernet 00:E0:06:E8:00:84;
296     # fixed-address 192.168.0.1;
297     #}
298     }
299     }
300     </pre>
301    
302     <p>
303     If your workstations support PXE, you should list each one of them as we
304     have done with <e>host ws001</e> (don't forget to uncomment it). Don't
305     give them an adress in the dynamic range, otherwise it would be possible
306 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.
307 swift 1.1 </p>
308    
309     <p>
310     For more documentation on this item read the official dhcp handbook:
311     <uri>http://www.dhcp-handbook.com/</uri>
312     </p>
313    
314     <p>
315     Now start DHCP as you did with NFS and xinetd:
316     </p>
317    
318 swift 1.3 <pre caption="start dhcp">
319 swift 1.1 # <i>rc-update add dhcp default</i>
320     # <i>/etc/init.d/dhcp start</i>
321     </pre>
322    
323     <note>
324 swift 1.3 DHCPD needs CONFIG_PACKET and CONFIG_FILTER activated in the kernel to work.
325 swift 1.1 </note>
326    
327     </body>
328     </section>
329    
330     <section>
331     <title>LTSP Configuration</title>
332     <body>
333    
334     <p>
335 nightmorph 1.19 There are many options to configure your workstations, visit
336     <uri>http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-en.html#AEN1190</uri>
337 swift 1.1 for a full description of <path>/opt/ltsp/i386/etc/lts.conf</path>.
338     </p>
339    
340 swift 1.7 <p>
341     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
342     <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:
343     </p>
344    
345     <pre caption="/opt/ltsp/i386/etc/lts.conf">
346     MODULE_01 = usb-uhci
347     MODULE_02 = mousedev
348     MODULE_03 = usbmouse
349     X_MOUSE_PROTOCOL = "IMPS/2"
350     X_MOUSE_DEVICE = "/dev/input/mice"
351     </pre>
352    
353 swift 1.1 </body>
354     </section>
355    
356     <section>
357     <title>Displaymanager</title>
358     <body>
359    
360     <p>
361     Now you have to change your displaymanager's configuration to
362     also accept remote connections.
363     </p>
364    
365     <p>
366 neysx 1.9 First change your <path>/etc/X11/xdm/Xaccess</path> file,
367     uncomment the following line:
368 swift 1.5 </p>
369    
370 neysx 1.9 <pre caption="/etc/X11/xdm/Xaccess">
371 swift 1.5 #* #any host can get a login window
372     </pre>
373    
374     <p>
375     Now change the configuration of the displaymanager you use:
376     </p>
377    
378     <p>
379 swift 1.1 <b>XDM</b>: In <path>/etc/X11/xdm/xdm-config</path> comment out <c>DisplayManager.requestPort: 0</c>
380     </p>
381    
382     <p>
383     <b>KDM</b>: In <path>/usr/kde/3.1/share/config/kdm/kdmrc</path> look
384     for the <c>[Xdmcp]</c> section and change <c>Enable = false</c> to
385     <c>Enable = true</c>.
386     </p>
387    
388     <p>
389     <b>GDM</b>: In <path>/etc/X11/gdm/gdm.conf</path> look for the
390     <c>[xdmcp]</c> section and change <c>Enable = false</c> to
391     <c>Enable = True</c>.
392     </p>
393    
394     <p>
395     Then start the displaymanager:
396     </p>
397    
398     <pre caption="Starting xdm">
399     # <i>rc-update add xdm default</i>
400     # <i>/etc/init.d/xdm start</i>
401     </pre>
402    
403     <warn>
404     There seem to be problems currently with XDM and GDM. The author used
405     KDM to resolve these issues.
406     </warn>
407    
408 swift 1.7 <p>
409     Remember, if your display manager is already running, restarting the X server via CTRL-ALT-BACKSPACE doesn't restart the display manager.
410     </p>
411    
412 swift 1.1 </body>
413     </section>
414    
415     <section>
416     <title>Creating a bootfloppy</title>
417     <body>
418    
419     <p>
420 neysx 1.9 If your workstations don't support PXE booting, you can create a boot-floppy
421     which is used to start your workstations and connect to the terminal server.
422     Go to <uri>http://www.rom-o-matic.net</uri>, select the latest version, select
423     your NIC, press <e>Get ROM</e> and write the image to a floppy:
424 swift 1.1 </p>
425    
426 swift 1.3 <pre caption="Write floppy image">
427 neysx 1.9 # <i>cat nicfile.zdsk > /dev/fd0</i>
428 swift 1.1 </pre>
429    
430     </body>
431     </section>
432     </chapter>
433    
434     <chapter>
435     <title>Troubleshooting</title>
436 swift 1.6 <section>
437 swift 1.1 <body>
438    
439     <p>
440     There are a lot of things that can be the source of trouble, but there
441     are also several resources around which help you solve your problems:
442     </p>
443    
444     <ul>
445 nightmorph 1.19 <li>
446     The official documentation:
447     <uri>http://wiki.ltsp.org/twiki/bin/view/Ltsp/Documentation</uri>,
448 nightmorph 1.20 especially the
449     <uri link="http://wiki.ltsp.org/twiki/bin/view/Ltsp/TroubleShooting">
450     Troubleshooting section</uri>.
451 nightmorph 1.19 </li>
452 swift 1.1 <li>The gentoo IRC channel: irc.freenode.org #gentoo</li>
453     <li>The ltsp irc channel: irc.freenode.org #ltsp</li>
454 nightmorph 1.19 <li>
455 nightmorph 1.20 The ltsp mailinglists <uri>http://marc.info/?l=ltsp-discuss</uri> are full
456 nightmorph 1.19 of some real good knowledge.
457     </li>
458 swift 1.1 </ul>
459     </body>
460 swift 1.6 </section>
461 swift 1.1 </chapter>
462    
463     <chapter>
464     <title>FAQ</title>
465 swift 1.6 <section>
466 swift 1.1 <body>
467     <p>
468     <b>Q:</b> My workstations have Pentium II CPUs, but my server is compiled
469     with <c>march=athlon-xp</c>, does this work?
470     </p>
471    
472     <p>
473     <b>A:</b> This is no problem, because all applications run on the server.
474     </p>
475    
476     <p>
477     <b>Q:</b> Which CPU and how much RAM should the server have?
478     </p>
479    
480     <p>
481     <b>A:</b> There is a good document with suggestions at
482 nightmorph 1.20 <uri>http://wiki.ltsp.org/twiki/bin/view/Ltsp/ServerSizing</uri>.
483 swift 1.1 </p>
484    
485     <p>
486     <b>Q:</b> Do you have more information about this PXE stuff?
487     </p>
488    
489     <p>
490     <b>A:</b> Yes, take a look at
491 nightmorph 1.20 <uri>http://wiki.ltsp.org/twiki/bin/view/Ltsp/PXE</uri>.
492 swift 1.1 </p>
493    
494     <p>
495     <b>Q:</b> Is it possibly to use 3D-Accelerated software on the workstations?
496     </p>
497    
498     <p>
499     <b>A:</b> If you are using NVidia cards take a look at
500 nightmorph 1.20 <uri>http://wiki.ltsp.org/twiki/bin/view/Ltsp/NvidiaLtsp411</uri>.
501 swift 1.1 </p>
502    
503     <p>
504 swift 1.3 <b>Q:</b> In some applications the fonts look crappy, what to do?
505 swift 1.1 </p>
506    
507     <p>
508 swift 1.3 <b>A:</b> You have to setup the XFontServer, add <c>USE_XFS=Y</c> to your
509 swift 1.1 <path>lts.conf</path>, edit <path>/etc/X11/fs/config</path> and comment
510     <c>no-listen: tcp</c> out, replace <c>XFS_PORT="-1"</c> with
511     <c>XFS_PORT="7100"</c> in <path>/etc/conf.d/xfs</path> and start xfs:
512 swift 1.8 <c>/etc/init.d/xfs start</c>. Also doublecheck that
513     <path>/etc/X11/XF86Config</path> (or <path>/etc/X11/xorg.conf</path>) contains
514     <c>FontPath "unix/:7100"</c> in the Files-section.
515 swift 1.2 </p>
516    
517 swift 1.5 <p>
518     <b>Q: </b> How can I use the soundcard of my workstation?
519     </p>
520    
521     <p>
522     <b>A: </b> There is a ltsp-sound package in gentoo, for more instructions read
523     the included <path>README</path> file.
524     </p>
525    
526 swift 1.2 </body>
527 swift 1.6 </section>
528 swift 1.2 </chapter>
529    
530     <chapter>
531     <title>Glossary</title>
532 swift 1.6 <section>
533 swift 1.2 <body>
534    
535     <p>
536 swift 1.3 <b><uri link="http://www.ltsp.org">LTSP</uri></b>
537     "The LTSP provides a simple way to utilize low cost workstations as either
538 swift 1.2 graphical or character based terminals on a GNU/Linux server."
539     </p>
540    
541     <p>
542 swift 1.3 <b><uri link="http://www.webopedia.com/TERM/P/PXE.html">PXE</uri></b>
543 swift 1.2 "Short for Pre-Boot Execution Environment. Pronounced pixie, PXE is one of the
544     components of Intel's WfM specification. It allows a workstation to boot from
545     a server on a network prior to booting the operating system on the local hard
546     drive. A PXE-enabled workstation connects its NIC to the LAN via a jumper,
547     which keeps the workstation connected to the network even when the power is
548     off."
549 swift 1.1 </p>
550    
551     </body>
552 swift 1.6 </section>
553 swift 1.1 </chapter>
554     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20