[[PageOutline]] = Aufsetzen eines Linuxmuster-Clients from scratch Hier werden Hinweise beschrieben, wie man einen völlig neuen Linuxmuster-Client im pädagogischen Netzwerk des Kepler-Gymnasiums aufsetzen kann. In der Regel wird man das nicht durchführen, sondern auf ein bestehendes Image aufbauen. Es kann jedoch Situationen geben, in denen ein frisches Image gewünscht wird. == Bei Bedarf: Client aufnehmen Im Folgenden gehen wir davon aus, dass wir an einer Client-Maschine arbeiten, die bereits ins Linuxmuster-Setup aufgenommen wurde. Sie erhält also eine fest vergebene IP-Adresse (vorzugesweise im Schülernetz) und bootet Linbo vom Netz. == (Ed)ubuntu installieren - Ein aktuelles (Ed)ubuntu-Installations-ISO herunterladen und auf einen USB-Stick schreiben. - Hinweis: Im Moment gibt es keine aktuellen Edubuntu-Installationsimages mehr. Also Ubuntu benutzen. - Client vom USB booten. - Optional: Um während der Installation gleich die aktuellen Updates herunterladen zu können, muss apt den Software-proxy kennen: {{{ ~ sudo -sH # echo > /etc/apt/apt.conf.d/80kepler-proxysw 'Acquire::http::proxy "http://proxysw.kg-fds.de:8080";' }}} - Sprache "Deutsch" auswählen - "Aktualisierungen herunterladen" auswählen, wenn der Proxy gesetzt wurde (sonst machen wir das später!) - "Lizensierte Inhalte installieren" auswählen - Bei der Partitionswahl "etwas anderes" auswählen, dann konsistent mit unseren Linuxmuster-Partitionen wählen: - `/dev/sda1` als `/` (formatieren) - `/dev/sda2` als `/usr/share/virtualbox-vdi` - `/dev/sda3` als Swap - Nutzer "linadmin" mit dem zugehörigen Passwort Die Installation dauert nur wenige Minuten :-). - USB-Stick entfernen und den neuen Client booten. == Grundkonfiguration Als lindamin einloggen, dann root werden: {{{ ~ sudo -sH }}} === Systemweiter Proxy {{{ # echo >> /etc/environment http_proxy=http://proxy.kg-fds.de:8080/ # echo >> /etc/environment https_proxy=https://proxy.kg-fds.de:8080/ # echo >> /etc/environment ftp_proxy=ftp://proxy.kg-fds.de:8080/ }}} Im Schülernetz wird dieser Name aufgelöst zu 10.32.1.251 (proxys) im Lehrernetz zu 129.143.4.2 (!BelWü-Proxy), jeweils Port 8080 oder 3128. === APT-Proxy Um unüberwachte Updates zu ermöglichen, muss außerdem APT einen durchlässigen Proxy konnen. Im Lehrernetz ist das ebenso der BelWü-Proxy, im Schülernetz haben wir hierfür einen speziellen APT-Proxy. Beide werden dynamisch über den Namen `proxysw` aufgelöst, also: {{{ # echo > /etc/apt/apt.conf.d/80kepler-proxysw 'Acquire::http::proxy "http://proxysw.kg-fds.de:8080";' }}} === Pakete auf den neusten Stand bringen: {{{ # apt update # apt full-upgrade }}} === SSH-Zugang einrichten {{{ # apt install ssh }}} Ab jetzt kann die weitere Adminstration über ssh erfolgen. Bevor wir irgend etwas weiteres beginnen, installieren wir aber einen Editor :-) : {{{ # apt-get install emacs }}} === Root-Login ermöglichen {{{ # passwd }}} Die SSH-Schlüssel der Administratoren zulassen: {{{ # mkdir ~root/.ssh # chmod go-rx ~root/.ssh # cat > ~root/.ssh/authorized_keys < /etc/issue.kepler "Creativer Cristof" # oder jetzt aktueller Codename }}} {{{ # cat > /etc/update-motd.d/05-kepler-release < /etc/apt/sources.list.d/atareao-telegram.list < /etc/apt/sources.list.d/geogebra.list < /etc/apt/sources.list.d/linuxmuster-net.list <` - `@kg-fds.de` - `root` - Dalls nicht alle Optionen bei der Installation abgefragt werden, oder sie später noch einmal gesetzt werden sollen, ist das möglich mit `dpkg-reconfigure postfix`. TODO: Hinweis: in Xenial offenbar nicht mehr verfügbar: freemind, xfonts-mathml TODO: Fehlen noch: acroread, vstdrivers, xaralx === ev. zusätzliche Treiber aktivieren Als linadmin einloggen und mit dem "Software&Repositories"-Tool möglicherweise verfügbare zusäztliche Treiber aktivieren. === manuell zu installierende Software ==== TODO: Xara Xtreme Siehe #467, http://www.xaraxtreme.org/download.html ==== TODO: Dropbox-Daemon Normalerweise lädt Dropbox beim ersten Start (oder durch den AUfruf `dropbox start -i`) den Dropbox-Daemon automatisch herunter. Das funktioniert derzeit hinter Firewalls offenbar nicht. So installiert man den Daemon manuell: Hinweis:: Der Daemon startet dennoch nicht, Grund unbekannt. Derzeitige Lösung: Das Verzeichnis `/var/lib/dropbox/.dropbox-dist` per rsync von einem funktionierenden Server kopieren. {{{ # cd /var/lib/dropbox/ # wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar --no-same-owner -xzf - }}} Ev. muss zuvor die `http(s)`-Umgebungsvariable mit Nutzer und Passwort gesetzt werden. Das lädt den Daemon herunter und packt ihn in das Verzeichnis `.dropbox-dist` aus. Danach kann man Dropbox verwenden. ==== FUNKTIONIERT DERZEIT NICHT: Google Earth GE gibt es nicht in den Ubuntu-Paketquellen (logisch). Es gibt aber ein Paket, dass die Installationsdatei von Google herunterlädt und ein *.deb-Paket daraus baut: {{{ # apt install googleearth-package }}} - Dann die `http_proxy`-Variable setzen (am besten auf den Lehrerproxy) - Dann `make-googleearth-package --force --cleanup` aufrufen. - Abhängigkeiten von Hand installieren und dann googleearth-Paket installieren: {{{ # apt install lsb-core libfreeimage3 # dpkg -i }}} ==== TODO: zusätzliche Microsoft-Fonts (siehe #1723) == Skripte in `/usr/local/sbin` {{{ # rmdir /usr/local/sbin/ # svn checkout svn+ssh://root@paedml/srv/svn/keplertools/scripts/trunk/ /usr/local/sbin/ }}} == 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`). Vorgehen wie auf https://www.linuxmuster.net/wiki/dokumentation:handbuch:clients:ubuntu.manualinstallation beschrieben. === client-auth-Paket {{{ # apt install linuxmuster-client-auth }}} Alle Fragen beantworten, wie hier beschrieben: https://www.linuxmuster.net/wiki/dokumentation:handbuch:clients:linuxmuster-client-auth. Anpassen der `ldap.conf` ist offenbar nicht mehr nötig (Defaultwert für timelimit steht auf 5s). === client-shares-Paket {{{ # apt install linuxmuster-client-shares }}} Problem:: Derzeit ist im postinst-Skript ein Fehler, siehe http://www.linuxmuster.net/flyspray/task/588. Wichtig:: Das Installationsskript trägt in der Datei `/etc/security/pam_mount.conf.xml` die Serveradresse als IP ein. Das können wir bei unserem Setup mit Schülernetz und Lehrernetz nicht gebrauchen. Daher ändern wir den Eintrag "10.32.1.1" ab in "paedml", der in beiden Netzen richtig aufgelöst wird: {{{ # sed -i "s/10.32.1.1/paedml/g" /etc/security/pam_mount.conf.xml }}} Außerdem:: Die Linuxmusterleute haben den Namen für "Tausch_auf_Server" in "Tauschen_auf_Server" geändert. Bei uns zeigen die Bookmarks aber noch auf den alten Wert, also ändern wir zurück: {{{ # sed -i "s/Tauschen_auf_Server/Tausch_auf_Server/" /etc/linuxmuster-client/shares/linkfoldername.conf }}} === client-profile-Paket {{{ # apt install linuxmuster-client-profile }}} Wichtig:: Damit unsere derzeitige Konfiguration mit getrenntem linadmin/Vorlagennutzer und unsere angepassten Linkstruktur funktioniert, müssen einige Konfigurationsdateien angepasst werden. (Hinweis: kann sich mit der Zeit ändern. Überprüfen!) ==== Datei `/etc/linuxmuster-client/profile/profile.conf` anpassen: - PROFILE_USER="vorlage" - OWNDOCSFOLDER="." - RSYNC_OPTIONS="--links" ==== Datei `/etc/linuxmuster-client/profile/home-preference.conf` anpassen: - HOMEPREFERENCEFOLDERNAME="einstellungen" ==== Datei `/etc/linuxmuster-client/profile/usersettings.conf` überschreiben: {{{ # cat > /etc/linuxmuster-client/profile/usersettings.conf < /etc/linuxmuster-client/profile/usersettings-opt.conf < .mozilla/firefox/profiles.ini < .thunderbird/profiles.ini < README--ACHTUNG--Hier-keine-Dateien-speichern.txt < /etc/lightdm/lightdm.conf.d/21-kepler-disable-greeter-hide-users.conf < /etc/lightdm/lightdm.conf.d/50-kepler-seats.conf < kepler_default_schueler # ln -s kepler_default_lehrer }}} Hinweis:: Wenn wir jetzt noch keine zwei Hintergrundbilder haben, nehmen wir vorerst mal den Ubuntu-Standard `warty-final-ubuntu.png`. Im Client-Image muss der Defaultlink auf `kepler_default_schueler" verweisen. (Im Lehrerimage wird es vom postsync-Skript passend abgeändert): {{{ # cd /usr/share/backgrounds # ln -sf kepler_default_schueler edubuntu_default.png # ln -sf kepler_default_schueler edubuntu_default.jpg }}} == Vorgaben für Gnome-Settings (dconf) einrichten User-Datenbank einrichten und erzeugen: {{{ # cat > /etc/dconf/profile/user < /etc/dconf/db/site.d/00_site_settings < /etc/dconf/db/site.d/locks/00_site_locks < UUID urn:uuid:9c344d97-22d8-3c49-6349-4f3ec0ce77fe Info Lexmark links oder rechts im LZ Location Lehrerzimmer State Idle StateTime 1348058275 Accepting Yes Shared Yes JobSheets none none Printer LaserLZ Printer LaserLZr QuotaPeriod 0 PageLimit 0 KLimit 0 AllowUser @lpadmin AllowUser @teachers AllowUser pgmadmin OpPolicy default ErrorPolicy retry-current-job }}} == pam_group aktivieren Damit die Dokumentenkameras funktionieren, müssen alle User Mitglieder in der Gruppe video (Gruppe auf dem LTSP-Server, nicht: LDAP-Gruppe!) sein. Für die Benutzung der Bildschirmüberwachung müssen die Lehrer in der Gruppe epoptes sein. Das geht mit dem pam_group-Mechanismus, der den User beim Login in die angegebenen Gruppen zuweist: * Eintrag in /etc/security/group.conf: {{{ *;*;*;Al0000-2400;video *;*;%teachers;Al0000-2400;epoptes }}} * Neue Datei /usr/share/pam-configs/pamgroups: {{{ Name: activate /etc/security/group.conf Default: yes Priority: 900 Auth-Type: Primary Auth: required pam_group.so use_first_pass }}} * dann: {{{ # pam-auth-update # service nscd restart }}} Damit werden beim Login über das pam_group-Modul die fehlenden Gruppenzugehörigkeiten ergänzt - jetzt können alle User (Schüler und Lehrer) die Dokumentenkamera benutzen! == Virtualbox konfigurieren Wir stellen derzeit zwei Virtualbox-Umgebungen zur Verfügung, eine für die TI-Emulation, eine zweite für InfoSys (nur im Lehrernetz). Die Maschinen sind für alle Lehrer eingerichtet, die virtuellen Festplatten (vdi-Files) liegen aus Effizienzgründen aber lokal auf den LtspServern. Die beiden folgenden Verzeichnisse müssen von einem (geeigneten, d.h. mit gleicher Prozessorarchitektur) LtspServer kopiert werden: {{{ # rsync -a :/usr/share/virtualbox-vdi /usr/share/ # rsync -a :/usr/share/virtualbox-saved /usr/share/ }}} Erklärung:: Damit die Kollegen InfoSys und TINSpire schnell benutzen können, liegen unter /sr/share/virtualbox-saved Speicherabbilder, so dass die VM innerhalb weniger Sekunden startet. Diese Abbilder müssen von einem Server mit der selben Prozessorarchitektur stammen. Eventuell müssen sie neu erzeugt werden, siehe AdminVirtualBox#SpeicherabbildderVirtuellenMaschineerzeugen. Die Starter von `/usr/share/virtualbox-saved/` müssen nach `/usr/share/applications/` kopiert werden: {{{ # cp /usr/share/virtualbox-saved/{TINSpire,InfoSys}.desktop /usr/share/applications/ }}} == Epoptes konfigurieren Mit epoptes können die Schülerbildschirme kontrolliert werden. Die Clients melden sich beim Login eines Schülers am epoptes-Server (ltsp6) an. Damit nicht Kollegen ebenfalls überwacht werden können, muss der epoptes-Starter angepasst werden. In `/etc/xdg/autostart/epoptes-client.desktop`: {{{ [Desktop Entry] ... #Exec=/usr/sbin/epoptes-client Exec=/usr/local/sbin/kepler--epoptes-client-starter ... }}} Für die Kollegen gibt es die Möglichkeit, die Fernwartung per epoptes trotzdem einzuschalten. Neue Datei `/usr/share/applications/epoptes-client.desktop`: (Aufruf: Fernwartung): {{{ [Desktop Entry] Name=Überwachung meines Bildschirms erlauben Comment=Ermöglicht für die Dauer dieser Sitzung, dass Administratoren (und andere Lehrer) Ihren Bildschirminhalt sehen und ihren Rechner steuern können. Exec=bash -c "zenity --question --title 'Fernüberwachung erlauben' --text 'Erlauben Sie, dass andere Lehrer und die Administratoren Ihren Bildschirminhalt sehen und Ihren Rechner steuern können?\n(Diese Entscheidung gilt nur für die laufende Sitzung und wird mit Ihrem Logout wieder aufgehoben.)' && /usr/sbin/epoptes-client" Icon=epoptes Terminal=false Type=Application Categories=Network;Settings;Utility;RemoteAccess;DesktopSettings;Security;Accessibility; }}} Die Kollegen können auch Schülerdesktops überwachen. Neue Datei `/usr/share/applications/epoptes-app-starter.desktop` (Aufruf: //Bildschirme der Schüler anzeigen`): {{{ [Desktop Entry] Name=Bildschirme der Schüler anzeigen Comment=Die Lab-Management-Software Epoptes erlaubt es, den eingeloggten Schülern auf den Bildschirm zu sehen und ihre Rechner zu steuern. Exec=/usr/local/sbin/kepler--epoptes-app-starter Icon=epoptes Terminal=false Type=Application Categories=Education;Network;Utility;Monitor;RemoteAccess; }}} Damit der passwortlose Zugang zum ltsp6 als epoptes funktioniert muss die /etc/ssh/ssh_config angepasst werden (anfügen am Ende): {{{ Host epoptes_server Hostname ltsp6 User epoptes IdentityFile /etc/ssl/certs/epoptes_key ForwardX11 yes StrictHostKeyChecking no }}} Außerdem sollte der Host-Key von ltsp6 bekannt sein, damit er nicht in die known_hosts jedes Nutzers eingetragen wird (was später Probleme verursachen kann, wenn sich der Schlüssel mal ändern sollte): {{{ # echo -n "ltsp6,10.32.2.6 " >> /etc/ssh/ssh_known_hosts # ssh >> /etc/ssh/ssh_known_hosts ltsp6 cat /etc/ssh/ssh_host_ecdsa_key.pub }}} === Kepler-Logos Für unsere Briefpapiervorlage und andere Zwecke sollen die Kepler-Logos unter `/usr/local/include` liegen. Das Verzeichnis kann vom paedml kopiert werden: {{{ # rsync -av paedml:/usr/local/include /usr/local/ }}} Test:: Danach sollte die LaTeX-Briefvorlage, die man per Rechtsklick auf dem Desktop erreicht, kompilieren. === Apport deaktivieren (siehe ticket) ---- [[CC_BY_NC_SA(Dr. Rüdiger Kupper, Kepler-Gymnasium Freudenstadt)]]