SDTPD/Linux -- SchulDatenTransferProtokoll Daemon für Linux COPYRIGHT (c) 1999/2000 by Nikolai Tillmann aktuelle Version: 1.999 beta Nikolai Tillmann Klausenpaß 20A 12107 Berlin Email: Nikolai.Tillmann@winschule.de Tel: 030 / 79792468 Fax: 030 / 74792469 Dieses Programm kann frei kopiert, installiert und betrieben werden. Es ist nicht erlaubt, das Programm zu verändern oder zu disassemblieren. Falls mehr als zwei Computer gleichzeitig auf das Serverprogramm SDTPDWIN zugreifen, muß eine entsprechende Lizenz erworben werden. Dieses Programm ist noch eine Beta-Version, d.h. nicht endgültig freigegeben. Daher können Fehler im Betrieb auftreten, für die der Autor keine Verantwortung oder Schadensersatzansprüche übernehmen kann. Mit dem Betrieb dieser Software erkennt der Benutzer dies an. -------- E I N F Ü H R U N G Eine ausführliche Darstellung des neuen Netzwerkbetriebs von WinSchule finden Sie in der Datei SERVER.WBR, die bei jeder WinSchule-Installation dabei ist. In diesem Dokument wird dargestellt, wie anstatt des Windows-basierten Programms SDTPDWIN.EXE das Linux-Programm sdtpd eingesetzt werden kann. Das Netzwerk sollte in diesem Fall folgende Gestalt haben: - ein Linux-Server - mehrere Arbeitsstationen mit Windows 3.11/95/98/NT/2000 -------- V O R A U S S E T Z U N G E N Die Hardware-Voraussetzungen stehen weiter unten unter Hardware. Zur Einrichtung von SDTPD sind auf folgenden Gebieten umfassende Kenntnisse nötig: - Aufbau eines Linux-Systems - Netzwerke mit TCP/IP-Protokoll, unter Linux und Windows - SAMBA - Konfigurations-Skripte unter /etc/rc.d -------- D A T E I E N In diesem Paket sollten folgende Dateien sein: - README diese Datei - sdtpd ausführbares Linux-Programm - SDTPBackup.EXE ausführbares Windows-Programm -------- R E G I S T R I E R U N G S N U M M E R Ohne Registrierungsnummer akzeptiert das Serverprogramm Verbindungen von zwei verschiedenen Rechnern. Da die Linux-Version noch nicht so ausgiebig wie die Windows-Version getestet wurde, haben wir uns entschieden, auch für größere Netzwerke kostenlose Registrierungsnummern zur Verfügung zu stellen. Diese Nummern sind zeitlich bis zum 1. 7. 2000 beschränkt. Bitte wenden Sie sich dazu an die oben angegebenen Kontaktmöglichkeiten, Stichwort: Linux. -------- I N S T A L L A T I O N Kurzanleitung zum Einrichten des Programms: - Aufbau eines funktionierenden Linux-System; der Linux-Rechner wird im folgenden LINUX genannt. - Kernel mit pthreads - Einrichtung eines Netzwerk mit TCP/IP-Protokoll. - Namensgebung der Computer, z.B. mit hosts-Dateien - SAMBA-Server wird dringend empfohlen; andere Arten des Dateien-Austausches sind zwar möglich, es wird im folgenden aber nicht weiter darauf eingegangen. - Ein Verzeichnis, das von allen Arbeitsstation aus erreichbar ist; es wird im folgenden /home/winschule genannt. Weiterhin wird davon ausgegangen, daß dieses Verzeichnis unter dem UNC \\LINUX\WINSCHULE im Netz von Windows aus erreichbar ist. - Dieses Verzeichnis wird nun von irgendeinem Windows-Rechner aus zu Laufwerk T: verbunden. Anschließend wird von diesem Windows-Rechner aus WinSchule mit den Disketten oder der CD in das Zielverzeichnis T:\ installiert (nicht T:\WINSCHUL). - Es könnte sinnvoll sein, einen Benutzer "winschule" einzurichten, unter dessen account das Serverprogramm sdtpd einmal ausgeführt werden soll. - Nun kann das Linux-Programm sdtpd und das Windows-Programm SDTPBackup aus diesem Paket in das Verzeichnis /home/winschule kopiert werden. Das Serverprogramm kann nun mit folgendendem Befehl konfiguriert werden: /home/winschule/sdtpd -CREATECFG Das Serverprogramm kann anschließend mit /home/winschule/sdtpd & im Hintergrund gestartet werden. Damit alle Daten gesichert werden, sollte das Serverprogramm nur mit folgendem Befehl beendet werden: /home/winschule/sdtpd -QUIT Wird das Programm z.B. über das Signal TERM beenden, werde evtl. nicht alle Daten auf die Festplatte gesichert! Das Starten und Beenden sollten über entsprechende Skripte in /etc/rc.d automatisiert werden. - Auf allen Windows-Arbeitsstationen (am besten auch noch mal auf der, von der aus WinSchule ursprünglich installiert wurde) kann nun WinSchule installiert werden mit folgendem Befehl (einzugeben über Start - Ausführen): \\LINUX\WINSCHULE\WSClient Unter Windows for Workgroups 3.11 kann es notwendig sein, zuerst eine Laufwerksverknüpfung mit \\LINUX\WINSCHULE anzulegen, z.B. T:. Dann kann das Programm auf folgende Art aufgerufen werden: T:\WSClient /Netinstall \\LINUX\WINSCHULE\WSClient - Nun sollte WinSchule von einem Arbeitsplatz aus aufgerufen werden. Die Registriernummern und der Schulname sollten eingegeben werden. Das wars. Falls Sie eine Registriernummer für mehr als zwei Rechner im Netz erworben haben, können Sie anschließend diese Nummer eingeben: - Beenden Sie WinSchule und starten Sie es erneut, um sicherzugehen, daß die Registriernummern und der Schulname richtig eingegeben worden ist. Dies ist dann der Fall, wenn keine Demo-Version-Hinweise mehr auftauchen. - Führen Sie unbedingt zuerst die obigen Schritte aus, damit der Schulname bekannt ist! - Schließen Sie nun alle Programme auf den Windows-Servern. Beenden Sie das Serverprogramm mit /home/winschule/sdtpd -QUIT - Rufen Sie das Serverprogramm mit dem Parameter -CREATEREG auf: /home/winschule/sdtpd -CREATEREG Geben Sie die Registriernummer ein. - Schließlich können Sie das Serverprogramm wieder starten: /home/winschule/sdtpd & Fertig. -------- A U T O M A T I S C H E S B A C K U P Ebenso wie die Windows-Version (sdtpdwin.exe) besitzt auch das Linux-Programm (sdtpd) eine automatische Backup-Funktion. Sie kann am einfachsten über die Windows-Oberfläche bedient werden, die ebenfalls im Packet ist: SDTPBackup.EXE. Rufen Sie einfach von irgendeinem Windows-Rechner aus dieses Programm auf. Die Bedienung ist nun exakt die gleiche wie in der Windows-Version des Serverprogramms. Sie können in Server.WBR die Bedienung nachlesen. -------- A N M E R K U N G E N Abschließende Hinweise: - Das Programm wurde mit dem FreePascalCompiler (FPC) erstellt. Dieser Compiler ist selbst noch eine Beta-Version! (!) (!!) - Es wurde unter SuSE 6.2 mit den Bibliotheken glibc6 und pthread entwickelt. Der verwendete Linux-Kernel war 2.2.10. Evtl muß das Linux-System entsprechend geupdatet werden. - Das Programm ist noch nicht auf Geschwindigkeit optimiert. Dennoch sollte die Geschwindigkeit auf "besseren" Computern bereits hervorragend sein. -------- B E K A N N T E P R O B L E M E - Das Programm behandelt Signal noch nicht richtig. Solange alles wie vorgesehen läuft, sollte das aber nicht auffallen. - Nach gewisser Zeit kann der benötigte Speicher wegen Fragmentierung des Heaps anwachsen. In welchem Ausmaß dies der Fall ist, müßte erst ein größerer Praxiseinsatz zeigen. - Wenn das Programm abstürzt, läßt es sich evtl. erst nach einigen Minuten wieder starten, da der gebundene Socket nicht sofort wieder zur Verfügung steht. - Da die Möglichkeit eines Absturzes z.Z. nicht ausgeschlossen werden kann, könnte es sinnvoll sein, einen Watchdog zu installieren, der dafür sorgt, daß das Programm neu gestartet wird, falls es nicht mehr läuft. -------- H A R D W A R E Hier werden angegeben, welche Hardware für den Linux-Server verwendet werden kann. Voraussetzungen: - jeder vernetzte Computer, auf dem Linux läuft, sollte theoretisch als Voraussetzung genügen. - Hauptspeicher: 8 MB für sdtpd - Festplatte: 64 MB für WinSchule Empfehlung: - FastEthernet (100Mbps)-Netzwerk - irgendein Pentium - Hauptspeicher: 32 MB für sdtpd - Festplatte: 4 GB für WinSchule + Auto-Backup-Funktion von sdtpd