Medienecke zum Nulltarif

ein Projekt der Linux User Group Marl und des Hans Böckler Berufskolleg Marl,

vorgestellt auf der Ausstellung "Schule Online 2000",

beim Hearing der GHS Niedersprockhövel am 2.4.2001,

und auf der Bildungsmesse 2002




allgemeine Beschreibung

Das Gesamtsystem besteht aus einem Anwendungs-Server und mehreren
Schüler-Arbeitsplätzen(Clients).

Die 2 Hauptvorteile dieser Lösung

* extrem geringe Kosten in allen Bereichen: Hardware, Software, Wartung

* sehr geringer Administrationsaufwand.

weitere Vorteile/Eigenschaften

+ Alle Anwendungen laufen auf dem Server

+ neue Anwendungssoftware muss nur auf dem Server installiert werden

+ auf den Clients wird ältere Hardware verwendet , dennoch
  kann die aktuellste Anwendungssoftware benutzt werden

+ Die Clients sind extrem wartungsarm

+ Die Clients sind leise, produzieren weniger Wärme
  und verbrauchen weniger Energie als aktuelle PCs

+ Die Hardwareanforderungen an die Clients sind sehr gering

+ ein 10MBit Netzwerk reicht aus

+ Die Hardwareausstattung der einzelnen Clients darf sehr unterschiedlich sein

+ Ältere Hardware sinnvoll einsetzen, statt zu entsorgen schont
  die Umwelt und das Budget

+ gemeinsame Nutzung von Recourcen (Internet, Drucker, Scanner...)
  wird drastisch vereinfacht

+ keine Lizenzkosten oder lizenzrechtlichen Probleme durch Verwendung
  von 100% freier Software

+ performantes, sicheres und stabiles Betriebssystem
 

Der Anwendungs-Server


Die Anwendungsprogramme aller Schüler laufen ausschliesslich
auf dem Server.
Jeder Schüler erhält auf dem Server einen Account und ein Heimatverzeichnis
in dem er arbeiten kann, ohne andere zu stören oder die Stabilität und
Sicherheit des Systems zu gefährden.
Nur der Administrator hat das Recht, Software zu installieren.
Alle Programme, die auf dem Server installiert werden, sind sofort von allen
Arbeitsplätzen aus nutzbar.
Durch den Einsatz von Emulatoren ist es auch möglich viele (nicht alle)
MS-Windows(R)-Programme zu verwenden.
Der Anwendungsserver kann gleichzeitig noch andere Server-Aufgabe übernehmen:
Internet -Gateway/-Proxy , Mailserver, Nameserver,
DVD-, CD-, Brenner- , Printer-, Scanner-Sharing
Fileserver für Linux, Mac & Windows...

Server - Hardwareausstattung

RAM: ab 512MB, je mehr desto besser, (Beispiel: 1 GB um 16 Clients zu bedienen)
CPU: ab Pentium II oder Celeron, AMD (CPU ist nicht so wichtig, RAM ist wichtiger)
Festplatte: ab 2GB

Server - Softwareausstattung

kmLinuxTSE oder k12LTSP oder eine beliebige Linux Distribution.
Eine aktuelle Linux Distribution bietet z.B. auf 6 CDs oder einer DVD ca. 2000 freie,
kostenlose Anwendungsprogramme, alles was man für den Schulalltag braucht ist bereits
enthalten.
 

Die Schüler-Arbeitsplätze (Clients)

Die Arbeitsplätze sind extrem wartungsarm und leise,
sie benötigen keine Festplatte und oft auch keine
aktive CPU-Kühlung.

Client - Hardwareausstattung

486er oder Pentium PC, 8-16MB RAM, 1MB Grafikkarte, Netzwerkkarte, Maus, Tastatur, Monitor
Nicht erforderlich aber nutzbar: Festplatte, Diskettenlaufwerk, CD-ROM, Soundkarte

Client - Softwareausstattung

Etherboot = 16kB Bootcode im (E)PROM der Netzwerkkarte oder auf einer Diskette
 

Netzwerk

10MBit Ethernet ist ausreichend, sowohl BNC als auch TwistedPair Verkabelung ist möglich. Bei großen Netzen bringt ein Switch oft mehr als die Umrüstung von 10 auf 100MBit. BNC sollte wegen der hohen Störanfälligkeit durch Wackelkontakte oder Kabelbruch vermieden werden.



 

Techi-Talk(wie funktioniert das?)

1.) diskless/thin Client, remote-X

Im Client ist eine Netzwerkkarte mit Boot-Prom installiert,
statt Boot-Prom kann man auch einer Boot-Diskette verwenden.
Nach dem Einschalten sendet der Client ein BOOTP-Broadcast.
Der Server erkennt den einzelnen Client anhand der Ethernet(MAC)
Adresse des Clients. Per DHCP & tftp bekommt der Client
seinen Betriebssystem-Kern, ein minimales Linux,
Das Linux auf dem Client mountet sein root-Filesystem
per NFS vom Server. Alle Clients verwenden dasselbe,
per NFS freigegebene Verzeichnis, stören sich dabei aber nicht,
weil keine Schreibzugriffe erfolgen.
Der Client startet einen für seine Grafikkarte,
Maus & Monitor konfigurierten X-Server,
welcher dann eine  XDMCP Anfrage an den Server sendet.
Der Server sendet ein graphisches Login-Fenster.

Dieser Vorgang dauert zwischen 30 und 60 Sekunden.

"remote X"
Alle Anwendungen laufen auf dem Server, Darstellung
(Bildschirm) und Bedienung(Tastatur & Maus) geschieht
beim Client.

Nach einer Sitzung ist es nicht unbedingt nötig
sich vom Server abzumelden. Der Client kann jederzeit
gefahrloss ausgeschaltet oder resettet werden.

2.) Server

Auf dem Server müssen folgende 4 Dienste konfiguriert
und gestartet sein:
tftp, DHCP, xdm(oder kdm,gdm), NFS
 

Zitat aus http://www.b.shuttle.de/b/humboldt-os/system/diskless/#a4:
Betreibt man die Netzcomputer ausschließlich an einem Linux-Server, so hat man ein sehr stabiles, kostenloses und
leistungsfähiges System, das für Unterrichtszwecke auch aus pädagogischer Sicht* hilfreich ist: Da kaum ein Schüler Linux
           von zu Hause her kennt, entfallen viele Spielereien und Abgelenktheiten im Unterricht, die man bei Nutzung
           von Windows beobachten kann. Da das zumeist kostenlose Unix-Programmangebot extrem groß ist, kann man
           alle Bereiche des Unterrichts mit diesem Betriebssystem abdecken. Alle Programme, die einmalig auf
           dem Server installiert sind, stehen sofort allen Arbeitsplätzen zur Verfügung. Schüler haben nur in ihrem
           Heimatverzeichnis Schreibrechte und können keinen Unfug anstellen. Eine Virenproblematik gibt es praktisch
           nicht. Inzwischen stehen auch sehr viele kommerzielle Programme, wie Netscape, Star-Office, Applixware,
           Adabas und WordPerfect (für Schulen zumeist kostenlos) zur Verfügung. Da es in der ITG, in der Informatik und
bei der Beherrschung neuer Techniken (e-mail, Internetzugriffen, Nutzung von Bürosoftware, Grafik- und
Soundbearbeitung) nicht darum gehen kann, eine Produktschulung für eine bestimmte Firma vorzunehmen, sondern Schulen
Prinzipien und Konzepte zu vermitteln haben, die längerfristig gültig sind als die Verweildauer bestimmter
Softwareversionen auf dem Markt, ist das Arbeiten unter Linux von durchaus weitergehender Bedeutung. ...  Allenfalls für
den Betrieb der sogenannten "pädagogischen Software", die speziell für Windows geschrieben ist, muß man nach einer
Windows-Betriebsmöglichkeit suchen, so man diese Software für wesentlich hält. Interessant im Zusammenhang mit
Schulausstattungen ist die Tatsache, dass in Mexico 140000 Linux-Labs beschafft werden, um damit alle Grund- und
Mittelschulen auszustatten!

* Linux repräsentiert mit seiner Entstehungsgeschichte auch den freiheitlichen Gedanken des Internets, ist ein
fimenunabhängiges, offenes und bestens dokumentiertes Betriebssystem, das sich in weiten Bereichen auf wirkliche
Standardisierungen berufen kann.
...
Sie sollten pro Arbeitsplatz von ca. 10 MB RAM auf dem Server
ausgehen. Wir arbeiten an der Humboldtschule mit 12 festplattenlosen X-Terminals auf einem Rechner mit 128 MB RAM.
Für die Schülerarbeitsplätze genügen 12 - 16 MB RAM (ab 80386). Eine 10 MBit / s - Vernetzung reicht aus.

(Zitat ende)
 

Those who have the choice between our additional PC room and the terminal room, usually chooses the terminal room:
"you can be sure that all workstations work".
 
 


Hinweise zur Installation

Diesen Teil habe ich für diejenigen geschrieben, die wissen wollen, wie ich es "damals" gemacht habe. Die Beschreibung bezieht sich auf die LTSP Version 1.03.
Heute bieten sich dem interessierten Schul-Admin folgende Möglichkeiten relativ schnell zu Erfolgserlebnissen zu kommen:

Allegemein:

rpm Paket installieren:   rpm -Uh paketname.rpm
rpm Paket deinstallieren: rpm -e paketname
Inhalt eines tgz-Archivs anschauen: tar tvfz name.tgz | less
tgz-Archiv im aktuellen Verzeichnis auspacken:  tar xvfz  name.tgz
 
 

Konkret:


Das Paket lts_core enthält 2 tgz-Archive:
/tmp/ltsdoc.tgz
/tmp/ltsroot.tgz
Ausserdem gibt es bei ltsp.org noch...

...XF86-Pakete: davon sucht man sich diejenigen heraus, die zu den Grafikkarten der Clients passen.

...kernel-Pakete: hier nimmt man die, die zu den Netzwerkkarten der Clients passen.

in  ltsroot.tgz befindet sich ein /tftpboot Verzeichnis und ein Install-Script( lts-setup  ), welches in einigen config-Dateien nötige Änderungen vornimmt und Fonts an die richtige Stelle ins /tftpboot Verzeichnis kopiert
(Ich zeige hier jeweils nur die für's Projekt interessanten Stellen in den Config-Dateien)
 

/etc/exports   - welche Verzeichnisse  werden vom NFS-Server freigegeben
## LTS-begin ##
/tftpboot/lts/ltsroot   192.168.1.0/255.255.255.0(ro,no_root_squash)
## LTS-end ##

/etc/bootptab  - config-file des BOOTP-Servers, für mich uninteressant, denn die Aufgabe des BOOTP-Servers übernimmt der DHCP-Server.

/etc/X11/xdm/xdm-config      -  welche Rechner bekommen vom Server ein graphisches Login-Fenster
!
! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
!
!  Es ist wichtig, dass die folgende Zeile (wie hier) auskommentiert ist:
!  DisplayManager.requestPort:  0

!## LTS-begin ###################################################

DisplayManager.*.setup:         /etc/X11/xdm/Xsetup_workstation

!## LTS-end #####################################################
 

/etc/X11/xdm/Xsetup_workstation      - reine Kosmetik, nicht so wichtig, wird bei Verwndung von kdm sowiso nicht benutzt
#
# Created by lts-setup
#
#/usr/X11R6/bin/xsetroot -solid "#356390"
/usr/X11R6/bin/xsetroot -solid black
#/usr/bin/xsri -geometry +5+5 -avoid 300x250 -keep-aspect \
#        /usr/share/pixmaps/redhat/redhat-transparent.png
 

die folgenden Dateien habe ich von Hand angepasst, sie werden nicht vom lts-setup Skript bearbeitet.
 

/tftpboot/lts/ltsroot/etc/lts.conf    config-Datei des LTS-Projekts für alle X-Terminals
/tftpboot/lts/ltsroot/etc/rc.local    Startskript für die Terminals
 

 /etc/X11/xdm/Xaccess     - wenn hier das Sternchen fehlt, dann gibts auch kein Login-Fenster
*                                       #any host can get a login window
*               CHOOSER BROADCAST       #any indirect host can get a chooser
 
 

/etc/inetd.conf
# den KDE(1)-Talk-Daemon benutzen
ntalk   dgram   udp     wait    root    /usr/sbin/tcpd  /opt/kde/bin/ktalkd
#
# Tftp service is provided primarily for booting.  Most sites
# run this only on machines acting as "boot servers."
#
#
tftp          dgram   udp     wait    nobody  /usr/sbin/tcpd  in.tftpd /tftpboot
#

/etc/dhcpd.conf   Das config-File vom DHCP-Server, in voller Länge. Hier müsst ihr die Namen und Ethernet-Hardware(MAC) Adressen eurer Terminals eintragen.
 

/etc/rc.config - gibt es nur bei der SuSE-Linux Distribution
#
# start portmap? ("yes" or "no")
# this is needed, if the NFS server is started or if NIS is used
# Attention! If NFS_SERVER is set to "yes", START_PORTMAP will be
# ignored and portmap will be startet in any case.
#
START_PORTMAP="yes"
#
# should the NFS server be started on this host? ("yes" or "no")
# (needs activated portmapper)
#
NFS_SERVER="yes"
#
# Shall dynamic host configuration Server DHCP be started? (yes/no)
#
START_DHCPD="yes"
#
# Interface for dynamic host configuration Server DHCP
#
DHCPD_INTERFACE="eth0"
#

so, wenn ich nix vergessen habe waren das jetzt alle config-Dateien.

Wie schon gesagt, ist im lts-core-Paket ein /tftpboot Verzeichnis enthalten.
Ich biete hier dennoch meine Version zum Download an, da ich einige Veränderungen eingebaut habe:

1.) XF86Config
XF86Config-Dateien werden bei mir nicht automatisch erzeugt, sondern liegen alle in
/tftpboot/lts/ltsroot/usr/X11R6/lib/X11
Die Dateien passen zu 15" Monitoren mit einer Bildwiederholrate von 60Hz,
XF86Config.terminal3   ist speziell auf eine ET4000 Karte optimiert,
XF86Config.terminal5  ist recht allgemein gehalten und passt hoffentlich für viele Grafikkarten.
Ich habe jeweils eine Datei für eine spezielle Grafikkarte erzeugt indem ich die Karte in einen "richtigen"
Linux-Rechner(mit Festplatte) gesteckt habe und mit Hilfe der XFree86 Dokumentation und den Programmen
sax, XF86Setup oder xf86config versucht habe die beste Darstellung herauszukitzeln.
Das Ergebnis dieser Bemühungen habe ich dann von
/etc/XF86Config nach
/tftpboot/lts/ltsroot/usr/X11R6/lib/X11/XF86Config.<terminalname>
kopiert.
XF86Config Dateien enthalten übrigens auch Einstallungen über Mausport,Mausprotokoll & (deutsche)Tastatur.
Den symbolischen Link /tftpboot/lts/etc/XF86Config habe ich entfernt.

2.) deutsches Tastaturlayout
ich habe aus dem /usr/X11R6 Verzeichnis diverse Verzeichnisse & Dateien nach
/tftpboot/lts/ltsroot/usr/X11R6/  kopiert, bis die X-Terminals auch mit deutschen
Tastaturen funktionierten.
 

Etherboot

Etherboot ist ein Softwarepaket, mit dem ich Boot-Code (EPROM-Images) für diverse Netzwerkkarten erzeugen kann.
Mit diesem Boot-PROM kan der Rechner dann vom Netz booten, d.h. er benötigt kein eigenes Laufwerk(Festplatte,Diskette,CDROM, o.ä.)
Falls die gewünschte Karte nicht von Etherboot unterstützt wird, kann man es auch mit Netboot (ein ähnliches Projekt) versuchen.
Diesen BootCode kann man zunächst testweise auf einer Diskette ausprobieren, bevor man ein EPROM brennt. Das geht z.B. so:

cat floppyload.bin.pre 3c509.lzrom > /dev/fd0

Der Netzwerkkarte muss man möglicherweise mit einem passenden DOS-Setup-Programm mitteilen, dass sie das EPROM benutzen soll. Mit so einem Programm kann man übrigens auch von ISA-PnP auf legacy-ISA umstellen und den gewünschten Anschluss auswählen (BNC oder TwistedPair)


Links

2 Kapitel aus meiner Linkliste

Artikel im Linux-Magazin

zu 2 ähnlichen, aber nicht identischen Projekten:

Download

Original LTSP-Pakete & Doku, verschiedene Kernel und  X-Server: Linux Terminal Server Project
Code für's Boot-PROM: etherboot  oder rom-o-matic.net
 

Support

Kostenlosen oder sehr preiswerten Support bekommt man bei einer der ca. 300
deutschen Linux User Groups. Ausserdem engagieren sich die beiden bundesweiten Gruppen Freie Software und Bildung und Pingos.

Kommerziellen Support leisten viele grosse und kleine Firmen, die Linux einsetzen, hier eine kleine Auswahl
 

Feedback

bitte an:
 

Fortsetzung

Die Entwicklung geht weiter: Aus Medienecke wird Medienraum
kompletter Terminalserver von CD installierbar: kmLinux TSE
 



last update: 09.05. 2002