/[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.13 - (show annotations) (download) (as text)
Wed Apr 6 09:40:00 2005 UTC (9 years, 5 months ago) by neysx
Branch: MAIN
Changes since 1.12: +9 -9 lines
File MIME type: application/xml
<codenote> is being deprecated, replacing them with <comment> that should have been used anyway
***No content change***

1 <?xml version='1.0' encoding="UTF-8"?>
2 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/ltsp.xml,v 1.12 2004/10/18 15:51:09 swift Exp $ -->
3 <!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 <mail link="lanius@gentoo.org">Heinrich Wendel</mail>
9 </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
21 <license/>
22
23 <version>1.9</version>
24 <date>October 18, 2004</date>
25 <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 package:
66 </p>
67
68 <pre caption="Emerge LTSP">
69 # <i>emerge ltsp</i>
70 </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 <section>
100 <body>
101
102 <p>
103 After the emerge process has finished all services must be configured:
104 </p>
105
106 </body>
107 </section>
108 <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 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 </p>
119
120 <pre caption="/etc/conf.d/sysklogd">
121 SYSLOGD="-m 0 -r"
122 KLOGD="-c 3 -2"
123 </pre>
124
125 </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 /opt/ltsp-4.1/i386 192.168.0.0/255.255.255.0(ro,no_root_squash,async)
139 /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 <p>
163 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 </p>
166
167 <pre caption="/etc/conf.d/in.tftpd">
168 INTFTPD_PATH="/tftpboot"
169 INTFTPD_OPTS="-s ${INTFTPD_PATH}"
170 </pre>
171
172 <p>
173 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 </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 server_args = -s /tftpboot
195 }
196 </pre>
197
198 <p>
199 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 </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 192.168.0.1 ws001 ws001.yourdomain.com
230 </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 <comment>(Some general options)</comment>
246 default-lease-time 21600;
247 max-lease-time 21600;
248 use-host-decl-names on;
249 ddns-update-style ad-hoc;
250
251 <comment>(Bootp options)</comment>
252 allow booting;
253 allow bootp;
254
255 <comment>(Network Options)</comment>
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 <comment>(LTSP Path Options)</comment>
264 option root-path "192.168.0.254:/opt/ltsp-4.1/i386";
265 filename "/lts/vmlinuz-2.4.26-ltsp-2";
266
267 <comment>(If your workstations have ISA NICs uncomment the following)</comment>
268 <comment>(lines and alter the driver and IO)</comment>
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 <comment>(Distribute dynamic IPs to the workstations)</comment>
277 range dynamic-bootp 192.168.0.1 192.168.0.16;
278 <comment>(Workstation specific configuration for PXE booting)</comment>
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 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 </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 <pre caption="start dhcp">
304 # <i>rc-update add dhcp default</i>
305 # <i>/etc/init.d/dhcp start</i>
306 </pre>
307
308 <note>
309 DHCPD needs CONFIG_PACKET and CONFIG_FILTER activated in the kernel to work.
310 </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 <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 </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 First change your <path>/etc/X11/xdm/Xaccess</path> file,
352 uncomment the following line:
353 </p>
354
355 <pre caption="/etc/X11/xdm/Xaccess">
356 #* #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 <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 <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 </body>
398 </section>
399
400 <section>
401 <title>Creating a bootfloppy</title>
402 <body>
403
404 <p>
405 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 </p>
410
411 <pre caption="Write floppy image">
412 # <i>cat nicfile.zdsk > /dev/fd0</i>
413 </pre>
414
415 </body>
416 </section>
417 </chapter>
418
419 <chapter>
420 <title>Troubleshooting</title>
421 <section>
422 <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 </section>
440 </chapter>
441
442 <chapter>
443 <title>FAQ</title>
444 <section>
445 <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 <b>Q:</b> In some applications the fonts look crappy, what to do?
485 </p>
486
487 <p>
488 <b>A:</b> You have to setup the XFontServer, add <c>USE_XFS=Y</c> to your
489 <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 <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 </p>
496
497 <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 </body>
507 </section>
508 </chapter>
509
510 <chapter>
511 <title>Glossary</title>
512 <section>
513 <body>
514
515 <p>
516 <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 graphical or character based terminals on a GNU/Linux server."
519 </p>
520
521 <p>
522 <b><uri link="http://www.webopedia.com/TERM/P/PXE.html">PXE</uri></b>
523 "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 </p>
530
531 </body>
532 </section>
533 </chapter>
534 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20