Von Philipp Huebner übernommen: = customTerminalserverLenny = Es folgt hier die Beschreibung wie man basierend auf Debian Lenny einen Terminalserver selbst aufsetzt und an einen Skolelinux-Tjener anbindet. Teile dieser Anleitung können auch dazu verwendet werden, um eine Debian-Workstation an Skolelinux anzubinden. /!\ '''WICHTIGER HINWEIS:''' /!\ Dies ist ein HowTo für Eigenentwicklungen. Es fehlen massig Integrationen und Feinheiten die Debian Edu bietet. Ich empfehle auf jeden Fall Debian Edu Lenny zu nehmen, erhältlich hier: http://wiki.debian.org/DebianEdu/Download Dabei kann Desktopumgebung und Software nach eigenem Geschmack gewählt werden. Ich beschreibe hier wie man KDE4.2.4 und OpenOffice 3.1.0 installiert. == Verweis == ''Nigel Barker hat [[http://wiki.debian.org/DebianEdu/HowTo/Debian2DebianEdu|hier im internationalen Debian-Wiki]] einen Versuch beschrieben, aus einer Debian-Installation ein Debian-Edu zu machen. Er verwendet dabei die originalen Pakete aus dem Skolelinux-Repositorium. Um ein funktionierendes System zu erhalten, sind jedoch weitere Schritte notwendig, die Philipp hier beschreibt.'' == Installation Basissystem == Als Grundlage installiere ich ein absolut minimales Debian System auf gewohnte Art und Weise. D.h. ich installiere das Basissystem, und wenn ich zur Auswahl der Tasks komme wähle ich alles ab. Installationsmedien unter http://www.debian.org/distrib/ Anschließend starte ich in mein neues minimales Debian. eth0 ist mein Interface für das Servernetz, eth1 ist mein Interface für das ThinClientnetz. eth0 ist in /etc/network/interfaces bereits konfiguriert, eth1 nicht. == Installation Desktop == Folgende sources.list habe ich benutzt (allerdings über approx anstatt direkt aus dem Netz, spielt aber keine Rolle für eine einzelne Installation): ---- {{{ # Debian deb http://mirror.netcologne.de/debian lenny main contrib non-free deb-src http://mirror.netcologne.de/debian lenny main contrib non-free # Debian Security deb http://mirror.netcologne.de/debian-security lenny/updates main contrib non-free deb-src http://mirror.netcologne.de/debian-security lenny/updates main contrib non-free # Debian Volatile deb http://mirror.netcologne.de/debian-volatile lenny/volatile main contrib non-free deb-src http://mirror.netcologne.de/debian-volatile lenny/volatile main contrib non-free # Backports deb http://mirror.netcologne.de/debian-backports lenny-backports main contrib non-free deb-src http://mirror.netcologne.de/debian-backports lenny-backports main contrib non-free # Multimedia deb http://mirror.netcologne.de/debian-multimedia.org lenny main deb-src http://mirror.netcologne.de/debian-multimedia.org lenny main # Debian Desktop deb http://www.debian-desktop.org/pub/linux/debian/kde42 lenny kde42 kde421 kde422 kde423 kde424 deb-src http://www.debian-desktop.org/pub/linux/debian/kde42 lenny kde42 kde421 kde422 kde423 kde424 }}} ---- Damit apt-get sich nicht über unbekannte Pakete beschwert, mache ich Folgendes: *apt-get install debian-backports-keyring debian-multimedia-keyring *wget http://www.debian-desktop.org/pub/linux/debian/debian-desktop.org.key -O - | apt-key add - *apt-get update Folgendes schreibe ich in /etc/apt/apt.conf (Datei erstellen wenn nicht vorhanden): {{{ APT::Install-Recommends "0"; APT::Install-Suggests "0";}}} Dadurch verhindere ich, dass mein System überladen wird. Außerdem werden dann störende Pakete wie der avahi-daemon und libnss-mdns nicht automatisch mitinstalliert. Danach installiere ich einen Desktop meiner Wahl: Beispiel KDE 4 {{{ apt-get install flashplugin-nonfree flashplugin-nonfree-extrasound gaim htop kde4-minimal kde-l10n-de kdeedu kdegraphics kdemultimedia less iceweasel iceweasel-l10n-de icedove icedove-l10n-de kopete pidgin rsync screen ssh sun-java6-plugin unp vim yakuake xorg }}} Beispiel KDE 3.5 {{{aptitude install flashplayer-mozilla sun-java5-jdk netbeans-ide kdesdk freemind kdissert aptitude install nload apt-file mozilla-plugin-vlc kdebase kdeedu xorg dosemu xfonts-dosemu aptitude install ttf-mscorefonts-installer fontforge tf-xfree86-nonfree ttf-linux-libertine ttf-sjfonts aptitude install iceweasel iceweasel-l10n-de vym scite eric screem aptitude install -t lenny-backports kpdf pdfedit screen }}} Kleiner Tipp aus Erfahrung: ksnapshot besser nicht mitinstallieren, oder anschließend wieder entfernen. Denn sonst kann man jeden ThinClient zum Absturz bringen, indem man die Druck-Taste einige Sekunden lang gedrückt hält. Installation OpenOffice.org: *apt-get install -t lenny-backports openoffice.org openoffice.org-l10n-de openoffice.org-help-de Ich installiere noch sysv-rc-conf und deaktiviere damit bequem den Start vom KDM. ---- == Tjener-Anbindung == *apt-get install nfs-common ldap-utils libpam-ldap libnss-ldap nscd **erscheinende debconf-Fragen bestätige ich einfach mit den Standardwerten, die Konfiguration überschreibe ich nachher sowieso *mkdir -p /skole/tjener/home0 *echo "tjener:/skole/tjener/home0 /skole/tjener/home0 nfs bg,rsize=32768,wsize=32768,timeo=14,intr 0 0" >> /etc/fstab *mount /skole/tjener/home0 *dazu muss der Terminalserver korrekt via LWAT angelegt worden sein *dazu muss der Terminalserver mit der MAC-Adresse von eth0 in der /etc/dhcp3/dhcpd.conf auf dem Tjener eingetragen sein *wenn folgende Meldung erscheint, ist nfs-common nicht installiert oder nicht gestartet: {{{mount.nfs: rpc.statd is not running but is required for remote locking. mount.nfs: Either use '-o nolock' to keep locks local, or start statd.}}} * -o nolock ist gefährlich und sollte nicht verwendet werden wenn Tauschordner im Einsatz sind *[[attachment:ldap.tar.gz|Diesen Tarball]] herunterladen und damit die Dateien unter /etc auf dem Terminalserver überschreiben * unp ldap.tar.gz * chown -R root: ldap * chmod a+rx ldap/etc * cp -r ldap/etc / *Das Ergebnis zu diesem Zeitpunkt sollte eine brauchbare '''Workstation''' sein, welche via NFS und LDAP an den Tjener angebunden ist und mit Accounts von diesem nutzbar sein sollte. * '''getent passwd''' sollte nun sämtliche System- und LDAP-Benutzer auflisten ---- == LTSP == Nun wird der Einzelplatz zum Terminalserver: *apt-get install ltsp-server-standalone *ltsp-build-client *echo -e "/opt/ltsp\t*(ro,no_root_squash,async,no_subtree_check)" > /etc/exports *invoke-rc.d nfs-kernel-server restart *echo -e "\nauto eth1\n\tiface eth1 inet static\n\taddress 192.168.0.254\n\tnetmask 255.255.255.0\n\tbroadcast 192.168.0.255" >> /etc/network/interfaces *[[attachment:ltsp.tar.gz|diesen Tarball]] entpacken und nach /etc kopieren * unp ltsp.tar.gz * chown -R root: ltsp * chmod a+rx ltsp/etc * cp -r ltsp/etc / *invoke-rc.d networking restart *invoke-rc.d dhcp3-server restart *in /etc/inetd.conf muss noch eine Zeile korrigiert werden: *in der Zeile, welche mit "tftp" beginnt, muss "udp" zu "udp4" erweitert werden, ansonsten serviert tftp IPv6, womit die LTSP-Umgebung nicht klarkommt *invoke-rc.d inetutils-inetd restart */opt/ltsp/i386/etc/lts.conf sollte noch angepasst werden, z.B. so: [Default] NBD_SWAP=Y SOUND=Y SOUND_DAEMON=pulse LOCALDEV=Y XSERVER=auto SCREEN_07=ldm X_VERTREFRESH=75-75 X_MODE_0=1024x768 LDM_LANGUAGE=de_DE.UTF-8 CONSOLE_KEYMAP=de ---- Durch die angepasste rc.local im ltsp.tar.gz ist der Terminalserver spätestens nach einem Neustart so konfiguriert, das im Thinclient-Netz auch Workstations betrieben werden können (sowohl Linux als auch Windows). Entsprechend bekommen auch alle anderen Rechner in diesem Netz Zugriff auf das Servernetz und damit vermutlich aufs Internet. ---- Wenn alles korrekt ist, sollten jetzt die Terminals problemlos starten. ---- = Troubleshooting = *damit USB-Sticks korrekt funktionieren, muss das Paket 'consolekit' installiert sein *sollte es beim Hochfahren Probleme mit der NFS-Einbindung geben, die Optionen "nolock" oder "bg" in /etc/fstab hinzufügen *sollte aus einem unerklärlichen Grund der ThinClient beim Boot den NFS-Mount nicht schaffen, auf dem Terminalserver einmal den nfs-kernel-server neustarten ---- Vielen Dank (ToDo: Anleitung für Diskless Client Server) ----