wiki:LtspServerAufsetzen
close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Version 123 (modified by Rüdiger Kupper, 13 years ago) ( diff )

weitere Software

Aufsetzen eines neuen LtspServers from scratch

Hier werden Hinweise beschrieben, wie man einen völlig neuen LtspServer im pädagogischen Netzwerk des Kepler-Gymnasiums aufsetzen kann. Dies ist i.d.R. erheblich aufwändiger, als einen existierenden Server auf eine neue Maschine zu klonen.

Vorbermerkung

Zur Zeit sieht es so aus, als ob wir in Zukunft nur noch virtualisierte Server verwenden werden. Der Rest dieser Seite geht also davon aus, dass ein Virtualisierer (bei uns derzeit ProxMox 2) bereits korrekt aufgesetzt ist. Der "bare metal" Host sollte mit einem RAID 1 aufgesetzt sein, die virtuelle Maschine selbst kann daher ein einfaches Dateisystem haben. Im folgenden gehen wir davon aus, dass das Root-Dateisystem der neuen VM auf /dev/vda angelegt wird und der Swap auf /dev/vdb.

Gelten diese Gegebenheiten zum aktuellen Zeitpunkt nicht mehr, so muss das Vorgehen auf dieser Seite entsprechend angepasst werden.

Edubuntu installieren

  • Ein aktuelles Edubuntu-Installations-ISO herunterladen und in das virtuelle DVD-Laufwerk der VM einhängen
  • VM starten
  • Sprache "Deutsch" auswählen
Im Lehrernetz
Um im Lehrernetz die Aktualisierungen während der Installation herunterladen zu können, muss der BelWü-Proxy eingetragen werden. Also:
  • "Edubuntu ausprobieren" auswählen
  • unter Systemeinstellungen->Netzwerk den Proxy manuell eintragen: 129.143.2.4:8080 und systemweit anwenden
  • Installation über das Desktop-Symbol starten
Im Schülernetz
  • "Edubuntu installieren" auswählen
  • "Aktualisierungen herunterladen" auswählen
  • "Lizensierte Inhalte installieren" auswählen
  • "LTSP installieren" auswählen
  • Bei der Partitionswahl "etwas anderes" auswählen, dann wählen:
    • /dev/vda1 als /
    • /dev/vdb1 als Swap
  • Nutzer "linadmin" mit dem zugehörigen Passwort

Die Installation dauert nur wenige Minuten :-).

  • Installations-DVD aus dem virtuellen DVD-Laufwerk entfernen und den neuen Server booten.

Grundkonfiguration

Netzwerk einrichten

  • als lindamin einloggen
  • mittels sudo -sH root werden
  • am besten eine Scxreen Session starten: screen -RR <sitzungsname>
  • Unser neuer Server benötigt zuerst eine feste IP-Adresse im Kepler-Netzwerk.
    # editor /etc/networks/interfaces 
    
    • Anpassen nach dem folgende Schema:
Im Schülernetz
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
        dns-nameservers 10.32.1.251
        dns-search kg-fds.de
        address 10.32.2.<ServerNummer>
        netmask 255.240.0.0
        gateway 10.32.1.254
        network 10.32.0.0
        broadcast 10.47.255.255
Im Lehrernetz
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
        dns-nameservers 10.16.112.2
        dns-search kg-fds.de
        address 10.16.112.23
        netmask 255.255.254.0
        gateway 10.16.112.1
        network 10.16.112.0
        broadcast 10.16.113.255
  • Server neu booten

Ab jetzt ist unser neuer Server im Kepler-Netzwerk (und im VPN) unter ssh linadmin@10.32.2.<ServerNummer> erreichbar und hat Verbindung zum Internet.

Natürlich soll unser neuer Server im Netzwerk auch einen Namen haben, daher

Im Schülernetz
  • In paedml:/etc/hosts einen Eintrag für "ltsp<ServerNummer>" eintragen und den dnsmasq neu starten.
Im Lehrernetz
Steht der neue Server im Lehrernetz, so gehört der Eintrag auf den Rechner dhcp (10.16.112.2): dhcp:/etc/hosts. Dann den dnsmasq neu starten.

SSH-Zugang einrichten

  • Wir loggen uns per ssh linadmin@ltsp<ServerNummer> ein.
  • Wir werden root mittels sudo -sH
  • Pakete auf den neusten Stand bringen:
    # apt-get update
    # apt-get dist-upgrade
    
  • Bevor wir irgend etwas weiteres beginnen, installieren wir einen Editor :-) :
    # apt-get install emacs
    
  • Root-Login ermöglichen:
    # passwd
    
  • Den SSH-Schlüssel von root@LTSP, sowie die known hosts und authorized_keys von einem existierenden LtspServer auf unseren neuen Server schieben:
Im Schülernetz
  • auf einem laufenden LtspServer als root einloggen, dort:
    # rsync -a .ssh ltsp<ServerNummer>:
    
Im Lehrernetz
(wie oben, aber auf paedml zwischenspeichern)

Ab jetzt können sich kup, bau, root@paedml und root@LTSP mit ihren SSH-Schlüsseln einloggen.

  • Den Passwort-Login für Root unterbinden:
    # emacs -nw /etc/ssh/sshd_config
    # service ssh force-reload
    
    Option "PermitRootLogin without-password" setzen.

Filesysteme beim Boot automatisch reparieren

In /etc/default/rcS ändern:

FSCKFIX=yes

Niemals am GRUB-Bootschirm warten

  • In /etc/default/grub einfügen:
    # This is a headless server. We never want it to wait for user input:
    GRUB_RECORDFAIL_TIMEOUT=60
    
  • dann update-grub ausführen

An dieser Stelle bietet sich ein Backup der VM an.

Zugriff auf den paedml

Interne Firewall

Im Schülernetz (im Lehrernetz nicht nötig)

Damit der neue Server über alle Ports auf den paedml zugreifen darf (für LDAP, NFS, etc), muss dafür ein Eintrag in der Konfiguration der "internen Firewall" der Linuxmusterlösung eingefügt werden. (Siehe auch PaedmlAnpassungen.)

In paedml:/etc/init.d/linuxmuster-base:

iptables -A IN-eth1-ALLOWED -s 10.32.2.<ServerNummer>/32 -j ACCEPT

NFS-Anbindung

Die Anbindung an verschiedene Serververzeichnisse geschieht bei uns momentan nur noch über CIFS. Das Setup ist aber noch immer im Fluss, siehe u.a. #1213, #1192.

Momentan wird gar kein Verzeichnis über NFS gemountet (sondern "just in Time" beim Login per pam_mount über CIFS (s.u.). Es sind daher derzeit keine Eintragungen in /etc/fstab nötig!

  • (In /etc/fstab hinzufügen (Hinweis: die noauto EInträge sind ein Workaround und können möglicherweise inzwischen entfallen, siehe #856):)
    # Home ueber NFS:
    #10.32.1.1:/nfsexport/home/students  /home/students               nfs    _netdev,bg,noauto             0       0
    #10.32.1.1:/nfsexport/home/teachers  /home/teachers               nfs    _netdev,bg,noauto             0       0
    10.32.1.1:/nfsexport/home/share     /home/share                  nfs    _netdev,bg,noauto             0       0
    10.32.1.1:/nfsexport/tasks          /var/cache/sophomorix/tasks  nfs    _netdev,bg,noauto             0       0
    10.32.1.1:/nfsexport/home/ftp/Scans /home/ftp/Scans              nfs    _netdev,bg,noauto             0       0
    10.32.1.1:/nfsexport/home/cds       /home/cds                    nfs    _netdev,bg,noauto      0       0
    
  • (Verzeichnisse anlegen, richtige Besitzrechte einstellen und mounten)
    # mkdir -p /home/{students,teachers,share,ftp/Scans,cds} /var/cache/sophomorix/tasks
    # chgrp teachers /home/teachers
    # chmod o-r /home/teachers
    # apt-get install nfs-common
    # mount -a
    

LDAP-Anbindung

1. Option: linuxmuster.net-Paket

Die einfachste Möglichkeit, die LDAP-Anbindung an den Linuxmuster.net-Server (paedml) einzurichten, wäre sicherlich, das entsprechende linuxmuster.net-Paket zu installieren (linuxmuster-client-auth). Die Pakete gibt es aber nur für die LTS-Versionen von Ubuntu. Befinden wir uns auf einer nicht-LTS-Version, müssen wir die Anbindung von Hand vornehmen.

2. Option: LDAP manuell konfigurieren

  • LDAP-Client-Pakete und Name Server Caching Daemon installieren
    # apt-get install ldap-auth-client nscd
    
Im Schülernetz
  • Server: ldaps://10.32.1.1/
  • Distinguished name: dc=kg-fds,dc=de
  • LDAP-Version: 3
  • Make local root Database admin: ja
  • LDAP-Login nötig: nein
  • LDAP account for root: cn=admin,dc=kg-fds,dc=de
  • LDAP-Root-Passwort: (siehe paedml:/etc/ldap/slapd.conf)
Im Lehrernetz
  • Server: ldaps://10.16.112.4/
  • Distinguished name: dc=kg-fds,dc=de
  • LDAP-Version: 3
  • Make local root Database admin: ja
  • LDAP-Login nötig: nein
  • LDAP account for root: cn=admin,dc=kg-fds,dc=de
  • LDAP-Root-Passwort: (siehe paedml:/etc/ldap/slapd.conf)
Wir verwenden innherhalb des Kepler-Netzwerkes keine Zertifikate für SSL-Verbindungen.
Daher in /etc/ldap.conf ändern:
tls_checkpeer no
  • Nun dem ​Name Service Switch sagen, dass er die Nutezrinformationen über LDAP beziehen soll:
    In /etc/nsswitch.conf ändern:
    passwd:         compat ldap
    group:          compat ldap
    shadow:         compat ldap
    
  • Ab jetzt könnten sich Nutzer des Kepler-Netzwerkes mit ihrem Nutzernamen und Passwort einloggen -- wenn sie ein Homeverzeichnis hätten. Sofern die Homeverzeichnisse nicht komplett über NFS gemountet werden, wird hierzu der Service pam_mount verwendet, der die Homeverzeichnisse just in time anlegt und mountet.

    Userspace-LDAP-Unterstützung

    Außer für die Authentifizierung wollen wir auch LDAP-Anfragen an den paedml schicken, um z.B. Nutzernamen etc. abzufragen (viele unserer Skripte nutzen das). Hierfür werden die folgenden Pakete benötigt:

    # apt-get install ldap-utils
    

    Die Userspace-LDAP-Tools benutzen ein anderes Konfigurationsfile, als die Authentifizierungstools. In /etc/ldap/ldap.conf eintragen:

    Im Schülernetz
    BASE    dc=kg-fds,dc=de
    URI     ldaps://10.32.1.1/
    TLS_REQCERT never
    
    bind_policy soft
    
    Im Lehrernetz
    BASE    dc=kg-fds,dc=de
    URI     ldaps://10.16.112.4/
    TLS_REQCERT never 
    
    bind_policy soft
    

    pam_mount konfigurieren (CIFS-Anbindung)

    Dieser Schritt wird nur benötigt, wenn die Homeverzeichnisse (wie bei der Linuxmuster.net üblich) just in time über CIFS gemountet werden. Zudem mounten wir die Verzeichnisse als workaround derzeit nicht direkt nach /home/, sondern nach /home/pam_mounts. Die Sache ist noch immer in der Testphase.

    # apt-get install libpam-mount cifs-utils
    

    In /etc/security/pam_mount.conf.xml ändern/hinzufügen:

      <!-- Volume definitions -->  
      <volume options="rw,nosuid,nodev,iocharset=utf8,nobrl" mountpoint="~" path="%(
    USER)" server="paedml" fstype="cifs" >
          <not>
            <uid>0-5000</uid>
          </not>
      </volume>
    

    Ab jetzt können sich Nutzer des Kepler-Netzwerkes mit Nutzername und Passwort einloggen und sehen ihr Homeverzeichnis.

    LightDM konfigurieren

    LightDM-Optionen setzen. Z.B. muss die Eingabe eines Benutzernamens erlaubt werden. Die Gast-Sitzung sollte deaktiviert sein. Hier kann auch die voreingestellte Sitzung gewählt werden:

    In /etc/lightdm/lightdm.conf:

    [SeatDefaults]
    user-session=gnome-fallback
    greeter-hide-users=false
    greeter-show-manual-login=true
    greeter-allow-guest=false
    

    Um Zugriff per XDMCP zu aktivieren (derzeit noch experimentell) außerdem:

    greeter-show-remote-login=true
    
    [XDMCPServer]
    enabled=true
    
    • dann
      # restart lightdm
      

    Software

    Einige zusätzliche Software muss installiert und konfiguriert werden.

    1. Siehe hierzu LtspServerUpdate/Saucy: Die dort beschriebenen Prozeduren zu Gnome-Panel, Plank und Hintergrundbild durchführen.
    2. Für weitere Software zunächst den Proxy setzen, für Installationen, die etwas nachladen:
    Im Schülernetz
    # export http_proxy=http://10.32.1.253:3128
    
    Im Lehrernetz
    # export http_proxy=http://129.143.2.4:8080
    

    dann:

    # apt-get install aptitude apt-listchanges dconf-editor subversion nautilus-dropbox synapse virtualbox remmina-plugin-xdmcp vlc hamster-indicator codeblocks pingus hedgewars
    
    • TODO: weitere?

    Vorgaben für Gnome-Settings (dconf) einrichten

    • User-Datenbank einrichten und erzeugen:
      # cat > /etc/dconf/profile/user <<EOF
      user-db:user
      system-db:site
      EOF
      
        # mkdir /etc/dconf/db/site.d
        # cat > /etc/dconf/db/site.d/00_site_settings <<EOF
      [org/gnome/metacity]
      compositing-manager=true
      
      [com/ubuntu/update-notifier]
      auto-launch=false
      hide-reboot-notification=true
      no-show-notifications=true
      show-apport-crashes=false
      
      [apps/indicator-session]
      suppress-restart-menuitem=true
      suppress-shutdown-menuitem=true
      
      [com/canonical/unity/launcher]
      favorites=['application://nautilus-home.desktop','application://gnome-activity-journal.desktop','application://firefox.desktop','application://libreoffice-writer.desktop','application://libreoffice-calc.desktop','application://libreoffice-impress.desktop','unity://running-apps','unity://expo-icon','unity://devices']
      
      # turn on the desktop switcher
      [org/compiz/profiles/unity/plugins/core]
      hsize=2
      vsize=2
      
      # turn off curser plugin in gnome-settings-daemon, see ticket:1212
      [org/gnome/settings-daemon/plugins/cursor]
      active=false
      
      # set default keyboard layout from "de-nodeadkeys" to "de", see ticket:1217
      [org/gnome/desktop/input-sources]
      sources=[('xkb', 'de'), ('xkb', 'de+nodeadkeys')]
      EOF
      
        # mkdir /etc/dconf/db/site.d/locks
        # cat > /etc/dconf/db/site.d/locks/00_site_locks <<EOF
      /org/gnome/metacity/compositing-manager
      /com/ubuntu/update-notifier/auto-launch
      /apps/indicator-session/suppress-shutdown-menuitem
      /apps/indicator-session/suppress-restart-menuitem
      /org/gnome/settings-daemon/plugins/cursor/active
      /org/gnome/desktop/input-sources/sources
      EOF
      
      # dconf update
      

    Vorgaben für GConf einrichten

    Nachdem Docky nicht mehr verwendet wird, benötigen wir keine Vorgaben mehr, die über das klassiche GCOnf verteilt werden.

    pam_systemd

    Diese Maßnahme scheint nicht benötigt zu werden. Der neu aufgesetzte Server läuft auc mit aktiviertem pam_systemd prächtig**

    (ev. pam_systemd abschalten, siehe #1208)

    Timeserver

    • ntpd installieren (zuverlässiger als das mitgelieferte ntpdate, siehe man ntpdate)
      # apt-get install ntp
      
    • in /etc/ntp.conf alle server-Zeilen auskommentieren, dann einfügen:
      # server 10.32.1.253
      

    Skripte in /usr/local/sbin

    # rmdir /usr/local/sbin/
    # svn checkout svn+ssh://root@paedml/srv/svn/keplertools/scripts/trunk/ /usr/local/sbin/
    

    Autostart-Skripte

    Synapse automatisch starten

    # cat > /etc/xdg/autostart/synapse.desktop <<EOF
    [Desktop Entry]
    Name=Synapse
    Exec=synapse --startup
    Encoding=UTF-8
    Type=Application
    X-GNOME-Autostart-enabled=true
    Icon=synapse
    EOF
    

    LTSP-startup-Skript

    Das Skript ltsp-startup zeigt beim Login den Inhalt der Datei /etc/ltsp-motd an, sofern vorhanden:

    # cat > /etc/xdg/autostart/ltsp-startup.desktop <<EOF
    [Desktop Entry]
    Type=Application
    Exec=ltsp-startup
    Hidden=false
    NoDisplay=false
    X-GNOME-Autostart-enabled=true
    Name=LTSP startup script
    Comment=Skript, das beim Einloggen an LTSP-Clients ausgeführt wird.
    EOF
    

    Zeitgeist deaktivieren(?)

    Dieser Schritt scheint nicht weiter benötigt zu werden. Der neu aufgesetzte Server läuft prima mit aktivierterm Zeitgeist**

    (Ev. die Datei zeitgeist-datahub.desktop aus /etc/xdg/autostart/ entfernen oder in ein anderes Unterverzeichnis verschieben.

    Cronskripte

    globale Crontab

    In /etc/crontab und /etc/anacrontab muss der Proxy eingetragen werden, damit der flashplugin-installer seine Datei herunterladen kann:

    Im oberen Bereich von /etc/crontab und /etc/anacrontab:

    # package flashplugin-installer needs to know the proxy:
    # note: put this into /etc/anacrontab, too, if anacron is installed
    http_proxy=http://10.32.1.253:3128
    https_proxy=https://10.32.1.253:3128
    ftp_proxy=ftp://10.32.1.253:3128
    

    Der folgende Schritt wird viell. nicht mehr benötigt, derzeit läuft der neue Server gut ohne dieses Skript: TODO(?): Derzeit ist in der crontab außerdem das Skript eingetragen, das hängende Bind-Mounts entfernt (kann in Zukunft hoffentlich entfallen):

    Unten in /etc/crontab anfügen:

    */10 7-19 * * * root kepler--umount_cifs -f -m
    

    (Kepler-spezifische Cronskripte)

    (Derzeit stehen auf den LTSP-Servern keine Kepler-spezifischen Skripte in /etc/cron.{hourly,daily,weekly,monthly}.)

    Mountall-Workaround in /etc/rc.local

    Dieser Workaround wird vermutlich nicht mehr benötigt! Der neue Server scheint auch ohne gut zu booten.

    (Wenn nötig, in /etc/fstab die NFS-Mounts mit dem Flag noauto versehen und in /etc/rc.local das Skript kepler--mountall-workaround aufrufen.)

    Querverweis: #856

    Herunterfahren unterbinden

    Achtung! Dieser Punkt steht im Verdacht, für die Login/Logout-Probleme auf den LtspServern verantwortlich zu sein! Vorerst lieber auslassen**

    Obwohl mittels dconf bereits der Shutdown und der Restart-Eintrag aus dem Systemmenü ausgeblendet wurde, ist es sinnvoll, normalen Nutzern prinzipiell diese Rechte wegzunehmen. (Einerseits, weil es vielleicht einen anderen Weg als das Systemmenü gibt, an diese Optionen zu gelangen. Andererseits, weil dconf derzeit (noch?) nicht das Ausblenden des Suspend-Eintrags erlaubt.)

    Das ist bequem über ein policykit-Konfigurationsfile möglich:

      # cat > /etc/polkit-1/localauthority/90-mandatory.d/kepler--disable-shutdown-restart-suspend-hibernate.pkla <<EOF
    [Disable shutdown/whatever]
    Identity=unix-user:*
    Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.restart;org.freedesktop.upower.suspend;org.freedesktop.upower.hibernate
    ResultAny=no
    ResultInactive=no
    ResultActive=no
    EOF
    

    (Querverweise: ​http://askubuntu.com/questions/93542/how-to-disable-shutdown-reboot-suspend-hibernate/93956#93956, #215)

    LTSP einrichten

    LTSP-Client-Image

    Wenn während der Installation von Edubuntu die Option LTSP ausgewählt wurde, sind die nötigen Pakete schon installiert. Dann wurde auch bereits ein Client-Image erzeugt, das für uns ungeeignet ist und entfernt werden sollte:

    # rm -r /etc/ltsp/*
    

    Das weitere Verfahren entspricht dem unter LtspServerUpdate#Release-UpgradederClient-Images beschriebenen.

    lts.conf

    Unsere lts.conf befindet sich im SVN und muss von dort in das TFTP-Boot-Verzeichnis verlinkt werden:

    # rm /var/lib/tftpboot/ltsp/i386/lts.conf
    # ln -s /root/LTSP-setup/lts.conf /var/lib/tftpboot/ltsp/i386/
    

    dnsmasq

    • Auf den LtspServern läuft ein dnsmasq, der die DHCP-Anfragen der Clients beantwortet. Die Antwort beinhaltet dann den TFT-Server, von dem der Client seinen Netzwerkbootprozess fortsetzt.
      # apt-get install dnsmasq
      # ln -s /etc/linuxmuster/ltsp_config /etc/dnsmasq.d/
      
    • In /etc/default/dnsmasq ändern:
      CONFIG_DIR=/etc/dnsmasq.d/ltsp_config/$(hostname)/conf,.dpkg-dist,.dpkg-old,.dpkg-new
      
    • dnsmasq neu starten
      # service dnsmasq restart
      

    make_ltsp_config-Skript

    • Unser neuer Server benötigt das Verzeichnis /etc/linuxmuster:
      # mkdir /etc/linuxmuster
      
    • Auf dem paedml muss ein Verzeichnis für die DHCP-Config des neuen Servers angelegt werden (anbei: es wäre besser, wenn das make_ltspc_onfig-Skript dies erledigen würde):

    Auf dem paedml:

    # mkdir -p /etc/linuxmuster/ltsp_config/ltsp<ServerNummer>/conf
    
    • Das Skript make_ltsp_config, das die zu beantwortenden DHCP-Anfragen festlegt, muss um den Hostnamen des neuen Servers erweitert werden:

    Auf dem paedml die passenden Anpassungen vornehmen (Schleifen):

    # emacs -nw /usr/local/sbin/make_ltsp_config
    # emacs -nw /usr/local/sbin/make_ltsp_config.php
    # svn commit /usr/local/sbin/make_ltsp_config*
    # make_ltsp_config
    

    TFT-Boot einrichten

    • Da die Datei /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default bei jedem Update des Client-Images überschrieben wird, verwenden wir eine Datei namens 0A, was dem ersten Byte der IP-Adresse unseres Netzwerks entspricht (10.*.*.*). Diese erhält Vorrang vor default. Also:

    Datei /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/0A erzeugen, mit Inhalt

    default keplerltsp
    label keplerltsp
    kernel vmlinuz
    append ro initrd=initrd.img nbdroot=10.32.2.<ServerNummer>:/opt/ltsp/i386 root=/dev/nbd0 init=/sbin/init-ltsp quiet splash plymouth:force-splash vt.handoff=7
    

    Im Lehrernetz:

    default keplerltsp
    label keplerltsp
    kernel vmlinuz
    append ro initrd=initrd.img nbdroot=10.16.112.<ServerIP>:/opt/ltsp/i386 root=/dev/nbd0 init=/sbin/init-ltsp quiet splash plymouth:force-splash vt.handoff=7
    

    Automatisches Herunterfahren der Clients beim Server-Shutdown

    Das Herunterfahren des Servers hat katastrophale Auswirkungen auf laufende Clients. Die Clients müssen also sauber abgeschaltet werden, bevor der Server neu gebootet werden kann. Derzeit verwenden wir einen Polling-Mechanismus, mit dem die Clients bei "ihrem" Server regelmäßig anfragen, ob sie herunterfahren sollen. Dieser Dienst wird über inetd auf Port 2001 zur Verfügung gestellt:

    # cat >> /etc/inetd.conf <<EOF
    2001           stream  tcp     nowait  nobody /usr/sbin/tcpd /bin/cat /etc/ltsp-message
    EOF
    

    Um diese "shutdown"-Nachricht zu setzen, verwenden wir das sehr schöne "Molly-Guard". Per Default verhindert das versehentliches Herunterfahren. Wir verwenden es hier so:

    # apt-get install molly-guard
    # cd /etc/molly-guard/run.d
    # mv 30-query-hostname disabled--30-query-hostname
    
    # cat > 30-kepler--ask-confirmation <<"EOF"
    #!/bin/bash
    
    echo "This will shut down all my LTSP clients and reboot this server.
      Note: Don't do this while people are logged in on the clients,
            or they will kill you. You have been warned."
    
    read -n1 -p "Is this really what you want to do (y/n)? " answer
    echo
    
    if [[ $answer == "y" ]] ; then
        exit 0
    else
        exit 1
    fi
    EOF
    
    # cat > 40-kepler--shutdown-my-clients <<EOF
    #!/bin/bash
    
    if [[ $(id -u) != 0 ]] ; then
        echo $0: Need to be root
        exit 1
    fi
    
    shutdownclients --mine
    
    exit $?
    EOF
    
    # chmod a+x 30-kepler--ask-confirmation
    # chmod a+x 40-kepler--shutdown-my-clients
    

    Drucker einrichten

    • TODO: Drucker werden über den CUPS des paedml zur Verfügung gestellt

    Überflüssige Dienste deaktivieren(?)

    Da der neu Server derzeit mit aktivierten Standarddiensten gut zu laufen scheint, diesen Punkt erst einmal auslassen und beobachten.

    Korrektur: derzeit ist auf ltsp8 das Network-Manager-Applet und zwei Plugins deaktiviert:

    # apt-get purge network-manager-pptp
    # apt-get purge network-manager-pptp-gnome
    # apt-get purge network-manager-gnome
    

    (Ev. bestimmte Dienste deaktivieren, Querverweis: #569)


    Creative-Commons-Lizenz

    Die Inhalte dieser Wiki-Seite erscheinen, (wo anwendbar und nicht anderweitig angegeben), unter einer Creative-Commons-Lizenz CC BY NC SA 3.0 Germany. Urheber: Dr. Rüdiger Kupper, Kepler-Gymnasium Freudenstadt.

    Note: See TracWiki for help on using the wiki.