| | 1 | [[PageOutline]] |
| | 2 | |
| | 3 | = Aufsetzen eines Linuxmuster-Clients from scratch |
| | 4 | |
| | 5 | 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. |
| | 6 | |
| | 7 | |
| | 8 | |
| | 9 | |
| | 10 | ----- ab hier unbearbeitet ------ |
| | 11 | |
| | 12 | |
| | 13 | |
| | 14 | |
| | 15 | == Edubuntu installieren |
| | 16 | |
| | 17 | - Ein aktuelles Edubuntu-Installations-ISO herunterladen und in das virtuelle DVD-Laufwerk der VM einhängen |
| | 18 | - VM starten |
| | 19 | - Sprache "Deutsch" auswählen |
| | 20 | - ("Aktualisierungen herunterladen" lässt sich manges Proxy nicht auswählen, das machen wir später!) |
| | 21 | - "Lizensierte Inhalte installieren" auswählen |
| | 22 | - "LTSP installieren" auswählen und alle Pakete wähjlen |
| | 23 | - Bei der Partitionswahl "etwas anderes" auswählen, dann wählen: |
| | 24 | - `/dev/vda1` als `/` |
| | 25 | - `/dev/vdb1` als Swap |
| | 26 | - Nutzer "linadmin" mit dem zugehörigen Passwort |
| | 27 | |
| | 28 | Die Installation dauert nur wenige Minuten :-). |
| | 29 | |
| | 30 | - Installations-DVD aus dem virtuellen DVD-Laufwerk entfernen und den neuen Server booten. |
| | 31 | |
| | 32 | == Grundkonfiguration |
| | 33 | |
| | 34 | === Netzwerk einrichten |
| | 35 | |
| | 36 | - über das VNC-Interface als lindamin einloggen |
| | 37 | - die Auflösung und die Desktop-Dimensionen sind derzeit irrelevant. |
| | 38 | - mittels `sudo -sH` root werden |
| | 39 | - Unser neuer Server benötigt zuerst eine feste IP-Adresse im Kepler-Netzwerk. |
| | 40 | Hinweis:: Falls das terminal nicht lesbar ist (Proxmox-VNC-Problem), statt `editor` einfach `gedit` verwenden. |
| | 41 | {{{ |
| | 42 | # editor /etc/network/interfaces |
| | 43 | }}} |
| | 44 | - Anpassen nach dem folgende Schema: |
| | 45 | Im Schülernetz:: |
| | 46 | {{{ |
| | 47 | # The loopback network interface |
| | 48 | auto lo |
| | 49 | iface lo inet loopback |
| | 50 | |
| | 51 | # The primary network interface |
| | 52 | auto eth0 |
| | 53 | #iface eth0 inet dhcp |
| | 54 | iface eth0 inet static |
| | 55 | dns-nameservers 10.32.1.251 |
| | 56 | dns-search kg-fds.de |
| | 57 | address 10.32.2.<ServerNummer> |
| | 58 | netmask 255.240.0.0 |
| | 59 | gateway 10.32.1.254 |
| | 60 | }}} |
| | 61 | Im Lehrernetz:: |
| | 62 | {{{ |
| | 63 | # The loopback network interface |
| | 64 | auto lo |
| | 65 | iface lo inet loopback |
| | 66 | |
| | 67 | # The primary network interface |
| | 68 | auto eth0 |
| | 69 | #iface eth0 inet dhcp |
| | 70 | iface eth0 inet static |
| | 71 | dns-nameservers 10.16.112.2 |
| | 72 | dns-search kg-fds.de |
| | 73 | address 10.16.112.<IP> |
| | 74 | netmask 255.255.254.0 |
| | 75 | gateway 10.16.112.1 |
| | 76 | |
| | 77 | # Die beiden folgenden Einträge erlauben den direkten Zugriff auf die |
| | 78 | # Schülernetzserver aus dem Lehrernetz heraus: |
| | 79 | post-up route add -net 10.32.0.0 netmask 255.240.0.0 gw 10.16.112.8 |
| | 80 | post-down route del -net 10.32.0.0 netmask 255.240.0.0 gw 10.16.112.8 |
| | 81 | }}} |
| | 82 | |
| | 83 | |
| | 84 | Die beiden letzten Einträge in der `interfaces`-Datei im Lehrernetz erlauben es, sich vom Lehrernetz direkt auf den Servern im Schülernetz einzuloggen: Über den proxmoxs.kg-fds.de (10.16.112.8) wird ein Routing vom grauen (Lehrer-) Netz ins grüne (Schüler-) Netz realisiert. Wenn man auf den ltspl-Servern eine Route für 10.32.0.0/12 einrichtet, kann man sich mit ssh ltsp[1..7] (wird vom shcp/dns aufgelöst) auf die ltsp-Server im Schülernetz einloggen. |
| | 85 | |
| | 86 | |
| | 87 | |
| | 88 | - Server neu booten |
| | 89 | |
| | 90 | 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. |
| | 91 | (Das ssh-Paket wurde mit dem LTSP-Paket bereits installiert.) |
| | 92 | |
| | 93 | Natürlich soll unser neuer Server im Netzwerk auch einen Namen haben, daher |
| | 94 | ||=Im Schülernetz=||=Im Lehrernetz|| |
| | 95 | ||In `paedml:/etc/hosts` einen Eintrag für "ltsp<ServerNummer>" eintragen und den dnsmasq neu starten.||Steht der neue Server im Lehrernetz, so gehört der Eintrag auf den Rechner `dhcp` (10.16.112.2): `dhcp:/etc/hosts`.|| |
| | 96 | - Dann den dnsmasq neu starten. |
| | 97 | |
| | 98 | === Proxies setzen |
| | 99 | |
| | 100 | - Wir loggen uns per `ssh linadmin@ltsp<ServerNummer>` ein. |
| | 101 | - Wir werden root mittels `sudo -sH` |
| | 102 | - Wir starten am besten eine screen-Session mit `screen -RR <sessionname>`. |
| | 103 | |
| | 104 | ==== Systemweiter Proxy |
| | 105 | |
| | 106 | Im Schülernetz:: |
| | 107 | Hier gibt es zwei Proxys, einen (kontrollierten) für Schüler und einen (transparenten) für Lehrer. Das beste, was man tun kann, ist, den Schülerproxy systemweit zu setzen. (Die Lehrer können später ihren Proxy individuell auf den Lehrerproxy (10.32.1.250:3128) konfigurieren.): |
| | 108 | {{{ |
| | 109 | # echo >> /etc/environment http_proxy=http://10.32.1.251:3128/ |
| | 110 | # echo >> /etc/environment https_proxy=https://10.32.1.251:3128/ |
| | 111 | # echo >> /etc/environment ftp_proxy=ftp://10.32.1.251:3128/ |
| | 112 | }}} |
| | 113 | |
| | 114 | Im Lehrernetz:: |
| | 115 | Hier gilt generell der BelWü-Proxy: |
| | 116 | {{{ |
| | 117 | # echo >> /etc/environment http_proxy=http://129.143.4.2:8080/ |
| | 118 | # echo >> /etc/environment https_proxy=https://129.143.4.2:8080/ |
| | 119 | # echo >> /etc/environment ftp_proxy=ftp://129.143.4.2:8080/ |
| | 120 | }}} |
| | 121 | |
| | 122 | Für beide Netze habe ich nun den DNS-Eintrag proxy.kg-fds.de auf dem lokalen DNS eingetragen, im Schülernetz wird dieser aufgelöst zu 10.32.1.251 im Lehrernetz zu 129.143.4.2, jeweils Port 8080 - Standardport ist auch auf dem Schülernetzproxy 3128 ODER 8080). Damit ist eine Standard-Config für beide Netze möglich: |
| | 123 | |
| | 124 | {{{ |
| | 125 | # echo >> /etc/environment http_proxy=http://proxy.kg-fds.de:8080/ |
| | 126 | # echo >> /etc/environment https_proxy=https://proxy.kg-fds.de:8080/ |
| | 127 | # echo >> /etc/environment ftp_proxy=ftp://proxy.kg-fds.de:8080/ |
| | 128 | }}} |
| | 129 | |
| | 130 | |
| | 131 | ==== APT-Proxy |
| | 132 | |
| | 133 | 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: |
| | 134 | |
| | 135 | Im Schülernetz:: |
| | 136 | {{{ |
| | 137 | # echo >> /etc/apt/apt.conf 'Acquire::http::Proxy "http://10.32.1.253:3128";' |
| | 138 | }}} |
| | 139 | |
| | 140 | Im Lehrernetz:: |
| | 141 | Hier gilt generell der BelWü-Proxy: |
| | 142 | {{{ |
| | 143 | # echo >> /etc/apt/apt.conf 'Acquire::http::proxy "http://129.143.4.2:8080";' |
| | 144 | }}} |
| | 145 | |
| | 146 | Für beide Netze habe ich nun den DNS-Eintrag proxysw.kg-fds.de auf dem lokalen DNS eingetragen, im Schülernetz wird dieser aufgelöst zu 10.32.1.253 im Lehrernetz zu 129.143.4.2, jeweils Port 8080 - Standardport ist auch auf dem Schülernetzproxy 3128 ODER 8080). Damit ist eine Standard-Config für beide Netze möglich: |
| | 147 | |
| | 148 | {{{ |
| | 149 | # echo >> /etc/apt/apt.conf 'Acquire::http::proxy "http://proxysw.kg-fds.de:8080";' |
| | 150 | }}} |
| | 151 | |
| | 152 | |
| | 153 | |
| | 154 | === SSH-Zugang einrichten |
| | 155 | |
| | 156 | - Pakete auf den neusten Stand bringen: |
| | 157 | {{{ |
| | 158 | # apt-get update |
| | 159 | # apt-get dist-upgrade |
| | 160 | }}} |
| | 161 | - Bevor wir irgend etwas weiteres beginnen, installieren wir einen Editor :-) : |
| | 162 | {{{ |
| | 163 | # apt-get install emacs |
| | 164 | }}} |
| | 165 | ==== Root-Login ermöglichen |
| | 166 | {{{ |
| | 167 | # passwd |
| | 168 | }}} |
| | 169 | - Den SSH-Schlüssel von `root@LTSP`, sowie die `known hosts` und `authorized_keys` von einem existierenden LtspServer auf unseren neuen Server schieben (Hinweis: seit 14.04 ist der root-Login defaultmäßig verboten, daher müssen wir im linadmin-Account zwischenspeichern): |
| | 170 | Im Schülernetz:: |
| | 171 | - auf einem laufenden LtspServer als root einloggen, dort: |
| | 172 | {{{ |
| | 173 | # rsync -a .ssh/ linadmin@ltsp<ServerNummer>:.ssh-root |
| | 174 | }}} |
| | 175 | - dann auf dem neuen Server als linadmin einloggen: |
| | 176 | {{{ |
| | 177 | # sudo mv .ssh-root/ /root/.ssh |
| | 178 | # sudo chown --recursive root:root /root/.ssh |
| | 179 | }}} |
| | 180 | Im Lehrernetz:: (wie oben, aber auf paedml zwischenspeichern) |
| | 181 | |
| | 182 | Ab jetzt können sich kup, bau, root@paedml und root@LTSP mit ihren SSH-Schlüsseln einloggen. |
| | 183 | |
| | 184 | ==== (Den Passwort-Login für Root unterbinden) |
| | 185 | Hinweis:: Der folgende Punkt ist ab 14.04 nicht mehr nötig, da default! |
| | 186 | {{{ |
| | 187 | # emacs -nw /etc/ssh/sshd_config |
| | 188 | # service ssh force-reload |
| | 189 | }}} |
| | 190 | Option "`PermitRootLogin without-password`" setzen. |
| | 191 | |
| | 192 | |
| | 193 | === Filesysteme beim Boot automatisch reparieren |
| | 194 | In `/etc/default/rcS` ändern: |
| | 195 | {{{ |
| | 196 | FSCKFIX=yes |
| | 197 | }}} |
| | 198 | |
| | 199 | === Niemals am GRUB-Bootschirm warten |
| | 200 | - In `/etc/default/grub` einfügen: |
| | 201 | {{{ |
| | 202 | # This is a headless server. We never want it to wait for user input: |
| | 203 | GRUB_RECORDFAIL_TIMEOUT=60 |
| | 204 | }}} |
| | 205 | - dann `update-grub` ausführen |
| | 206 | |
| | 207 | |
| | 208 | An dieser Stelle bietet sich ein Backup der VM an. |
| | 209 | |
| | 210 | |
| | 211 | |
| | 212 | |
| | 213 | == Zugriff auf den paedml |
| | 214 | |
| | 215 | === Interne Firewall |
| | 216 | |
| | 217 | Im Schülernetz (im Lehrernetz nicht nötig):: |
| | 218 | |
| | 219 | 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.) |
| | 220 | |
| | 221 | In `paedml:/etc/init.d/linuxmuster-base`: |
| | 222 | {{{ |
| | 223 | iptables -A IN-eth1-ALLOWED -s 10.32.2.<ServerNummer>/32 -j ACCEPT |
| | 224 | }}} |
| | 225 | |
| | 226 | === NFS-Anbindung |
| | 227 | |
| | 228 | 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. |
| | 229 | |
| | 230 | 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! ** |
| | 231 | |
| | 232 | - (In `/etc/fstab` hinzufügen (Hinweis: die `noauto` EInträge sind ein Workaround und können möglicherweise inzwischen entfallen, siehe #856):) |
| | 233 | {{{ |
| | 234 | # Home ueber NFS: |
| | 235 | #10.32.1.1:/nfsexport/home/students /home/students nfs _netdev,bg,noauto 0 0 |
| | 236 | #10.32.1.1:/nfsexport/home/teachers /home/teachers nfs _netdev,bg,noauto 0 0 |
| | 237 | 10.32.1.1:/nfsexport/home/share /home/share nfs _netdev,bg,noauto 0 0 |
| | 238 | 10.32.1.1:/nfsexport/tasks /var/cache/sophomorix/tasks nfs _netdev,bg,noauto 0 0 |
| | 239 | 10.32.1.1:/nfsexport/home/ftp/Scans /home/ftp/Scans nfs _netdev,bg,noauto 0 0 |
| | 240 | 10.32.1.1:/nfsexport/home/cds /home/cds nfs _netdev,bg,noauto 0 0 |
| | 241 | }}} |
| | 242 | - (Verzeichnisse anlegen, richtige Besitzrechte einstellen und mounten) |
| | 243 | {{{ |
| | 244 | # mkdir -p /home/{students,teachers,share,ftp/Scans,cds} /var/cache/sophomorix/tasks |
| | 245 | # chgrp teachers /home/teachers |
| | 246 | # chmod o-r /home/teachers |
| | 247 | # apt-get install nfs-common |
| | 248 | # mount -a |
| | 249 | }}} |
| | 250 | |
| | 251 | |
| | 252 | |
| | 253 | === LDAP-Anbindung |
| | 254 | |
| | 255 | ==== 1. Option: linuxmuster.net-Paket |
| | 256 | 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. |
| | 257 | |
| | 258 | ==== 2. Option: LDAP manuell konfigurieren |
| | 259 | |
| | 260 | - LDAP-Client-Pakete und Name Server Caching Daemon installieren |
| | 261 | {{{ |
| | 262 | # apt-get install ldap-auth-client nscd |
| | 263 | }}} |
| | 264 | || ||=Im Schülernetz=||=Im Lehrernetz=||=In beiden Netzen=|| |
| | 265 | ||=Server=|| `ldaps://10.32.1.1/` || `ldaps://10.16.112.4/` || `ldaps://paedml.kg-fds.de/`|| |
| | 266 | ||=Distinguished name=|||||| `dc=kg-fds,dc=de` || |
| | 267 | ||=LDAP-Version=|||||| 3 || |
| | 268 | ||=Make local root Database admin=|||||| ja || |
| | 269 | ||=LDAP-Login nötig=|||||| nein || |
| | 270 | ||=LDAP account for root=|||||| cn=admin,dc=kg-fds,dc=de || |
| | 271 | ||=LDAP-Root-Passwort=|||||| (siehe `paedml:/etc/ldap/slapd.conf`) || |
| | 272 | |
| | 273 | - Wir verwenden innherhalb des Kepler-Netzwerkes keine Zertifikate für SSL-Verbindungen.\\ |
| | 274 | Daher in `/etc/ldap.conf` ändern: |
| | 275 | {{{ |
| | 276 | tls_checkpeer no |
| | 277 | }}} |
| | 278 | - Nun dem [wikipedia:"Name Service Switch"] sagen, dass er die Nutzerinformationen über LDAP beziehen soll:\\ |
| | 279 | In `/etc/nsswitch.conf` ändern: |
| | 280 | {{{ |
| | 281 | passwd: compat ldap |
| | 282 | group: compat ldap |
| | 283 | shadow: compat ldap |
| | 284 | }}} |
| | 285 | |
| | 286 | 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. |
| | 287 | |
| | 288 | |
| | 289 | ==== Userspace-LDAP-Unterstützung |
| | 290 | |
| | 291 | 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: |
| | 292 | {{{ |
| | 293 | # apt-get install ldap-utils |
| | 294 | }}} |
| | 295 | Die Userspace-LDAP-Tools benutzen ein anderes Konfigurationsfile, als die Authentifizierungstools. In `/etc/ldap/ldap.conf` eintragen: |
| | 296 | Im Schülernetz:: |
| | 297 | {{{ |
| | 298 | BASE dc=kg-fds,dc=de |
| | 299 | URI ldaps://10.32.1.1/ |
| | 300 | TLS_REQCERT never |
| | 301 | |
| | 302 | bind_policy soft |
| | 303 | }}} |
| | 304 | Im Lehrernetz:: |
| | 305 | {{{ |
| | 306 | BASE dc=kg-fds,dc=de |
| | 307 | URI ldaps://10.16.112.4/ |
| | 308 | TLS_REQCERT never |
| | 309 | |
| | 310 | bind_policy soft |
| | 311 | }}} |
| | 312 | |
| | 313 | In beiden Netzen: |
| | 314 | {{{ |
| | 315 | BASE dc=kg-fds,dc=de |
| | 316 | URI ldaps://paedml.kg-fds.de/ |
| | 317 | TLS_REQCERT never |
| | 318 | |
| | 319 | bind_policy soft |
| | 320 | }}} |
| | 321 | |
| | 322 | === pam_mount konfigurieren (CIFS-Anbindung) |
| | 323 | |
| | 324 | Dieser Schritt wird nur benötigt, wenn die Homeverzeichnisse (wie bei der Linuxmuster.net üblich) //just in time// über CIFS gemountet werden. Die Sache ist noch immer in der Testphase. |
| | 325 | {{{ |
| | 326 | # apt-get install libpam-mount cifs-utils |
| | 327 | }}} |
| | 328 | In `/etc/security/pam_mount.conf.xml` ändern/hinzufügen: |
| | 329 | {{{ |
| | 330 | <!-- Volume definitions --> |
| | 331 | <volume options="rw,nosuid,nodev,iocharset=utf8,nobrl" mountpoint="~" path="%(USER)" server="paedml" fstype="cifs" > |
| | 332 | <not> |
| | 333 | <uid>0-5000</uid> |
| | 334 | </not> |
| | 335 | </volume> |
| | 336 | }}} |
| | 337 | |
| | 338 | Nach einem Reboot können sich Nutzer des Kepler-Netzwerkes mit Nutzername und Passwort einloggen und sehen ihr Homeverzeichnis. |
| | 339 | |
| | 340 | |
| | 341 | == LightDM konfigurieren |
| | 342 | |
| | 343 | 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: |
| | 344 | |
| | 345 | In `/etc/lightdm/lightdm.conf`: |
| | 346 | {{{ |
| | 347 | [SeatDefaults] |
| | 348 | user-session=gnome-flashback |
| | 349 | greeter-hide-users=false |
| | 350 | greeter-show-manual-login=true |
| | 351 | greeter-allow-guest=false |
| | 352 | }}} |
| | 353 | |
| | 354 | Um Zugriff per XDMCP zu aktivieren (derzeit noch experimentell) außerdem: |
| | 355 | {{{ |
| | 356 | [XDMCPServer] |
| | 357 | enabled=true |
| | 358 | }}} |
| | 359 | - dann |
| | 360 | {{{ |
| | 361 | # restart lightdm |
| | 362 | }}} |
| | 363 | |
| | 364 | |
| | 365 | == Software |
| | 366 | |
| | 367 | Einige zusätzliche Software muss installiert und konfiguriert werden. |
| | 368 | |
| | 369 | === Nur 14.04: Synapse aus den Saucy-Quellen |
| | 370 | |
| | 371 | Aufgrund veralteter Abhängigkeiten, ist der synapse-Launcher aus dem Debia-Repository herausgeflogen, und damit auch aus den Ubuntu-Quellen. Es gibt keinen technischen Defekt, die Entwickler haben einfach versäumt, ihre Abhängigkeiten zu aktualisieren. Solange das Paket in den Trusty-Quellen nicht verfügbar ist, kann das Paket aus den Saucy-Quellen verwendet werden. |
| | 372 | |
| | 373 | Dazu werden die Saucy-Paketquellen eingetragen: |
| | 374 | {{{ |
| | 375 | # cat > /etc/apt/sources.list.d/saucy.list <<EOF |
| | 376 | deb http://de.archive.ubuntu.com/ubuntu/ saucy main restricted |
| | 377 | deb-src http://de.archive.ubuntu.com/ubuntu/ saucy main restricted |
| | 378 | |
| | 379 | deb http://de.archive.ubuntu.com/ubuntu/ saucy-updates main restricted |
| | 380 | deb-src http://de.archive.ubuntu.com/ubuntu/ saucy-updates main restricted |
| | 381 | |
| | 382 | deb http://de.archive.ubuntu.com/ubuntu/ saucy universe |
| | 383 | deb-src http://de.archive.ubuntu.com/ubuntu/ saucy universe |
| | 384 | deb http://de.archive.ubuntu.com/ubuntu/ saucy-updates universe |
| | 385 | deb-src http://de.archive.ubuntu.com/ubuntu/ saucy-updates universe |
| | 386 | |
| | 387 | deb http://de.archive.ubuntu.com/ubuntu/ saucy multiverse |
| | 388 | deb-src http://de.archive.ubuntu.com/ubuntu/ saucy multiverse |
| | 389 | deb http://de.archive.ubuntu.com/ubuntu/ saucy-updates multiverse |
| | 390 | deb-src http://de.archive.ubuntu.com/ubuntu/ saucy-updates multiverse |
| | 391 | |
| | 392 | deb http://de.archive.ubuntu.com/ubuntu/ saucy-backports main restricted universe multiverse |
| | 393 | deb-src http://de.archive.ubuntu.com/ubuntu/ saucy-backports main restricted universe multiverse |
| | 394 | |
| | 395 | deb http://security.ubuntu.com/ubuntu saucy-security main restricted |
| | 396 | deb-src http://security.ubuntu.com/ubuntu saucy-security main restricted |
| | 397 | deb http://security.ubuntu.com/ubuntu saucy-security universe |
| | 398 | deb-src http://security.ubuntu.com/ubuntu saucy-security universe |
| | 399 | deb http://security.ubuntu.com/ubuntu saucy-security multiverse |
| | 400 | deb-src http://security.ubuntu.com/ubuntu saucy-security multiverse |
| | 401 | EOF |
| | 402 | }}} |
| | 403 | Anschließend werden Pakete, die in den Trusty-Quellen nicht existieren, aus den Saucy-Quellen genommen. Daher wird synapse wie weiter unten beschrieben, dann aus den Saucy-Quellen geholt. Sollte später eine neuere Version in Trusty auftauchen, hat diese automatisch Priorität. |
| | 404 | |
| | 405 | |
| | 406 | === Plank |
| | 407 | Dazu muss derzeit noch [http://wiki.go-docky.com/index.php?title=Plank:Installing#Packages ein PPA aktiviert werden]: |
| | 408 | |
| | 409 | Im Schülernetz:: |
| | 410 | {{{ |
| | 411 | export http_proxy=http://10.32.1.253:3128 |
| | 412 | export https_proxy=https://10.32.1.253:3128 |
| | 413 | }}} |
| | 414 | Im Lehrernetz:: |
| | 415 | {{{ |
| | 416 | export http_proxy=http://129.143.2.4:8080 |
| | 417 | export https_proxy=https://129.143.2.4:8080 |
| | 418 | }}} |
| | 419 | dann: |
| | 420 | {{{ |
| | 421 | # add-apt-repository ppa:ricotz/docky # <- is not a typo |
| | 422 | # apt-get update |
| | 423 | # apt-get install plank |
| | 424 | # cp /usr/share/applications/plank.desktop /etc/xdg/autostart/ |
| | 425 | # ### das folgende scheint unter 14.04 nicht mehr zu klappen (startet nie!) |
| | 426 | # ###echo "OnlyShowIn=GNOME;" >> /etc/xdg/autostart/plank.desktop |
| | 427 | }}} |
| | 428 | Konfiguration in `~/.config/plank/dock1/settings`. |
| | 429 | |
| | 430 | |
| | 431 | === Weitere Software: |
| | 432 | {{{ |
| | 433 | # apt-get install aptitude apt-listchanges debfoster dconf-editor subversion finger enigmail {thunderbird,firefox}-locale-de libreoffice-l10n-de libreoffice-help-de fonts-crosextra-caladea fonts-crosextra-carlito geogebra nautilus-dropbox synapse virtualbox remmina-plugin-xdmcp vlc texlive texlive-latex-extra texlive-lang-{german,french,english,spanish} auctex gedit-latex-plugin texmaker ubuntu-restricted-extras mesa-utils audacity stellarium wine pptview hamster-indicator ardesia xournal xaralx mypaint krita codeblocks pingus hedgewars gnome-activity-journal freemind kdenlive pitivi gnome-clocks |
| | 434 | }}} |
| | 435 | |
| | 436 | === Dropbox-Daemon manuell installieren |
| | 437 | 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: |
| | 438 | |
| | 439 | 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. |
| | 440 | |
| | 441 | {{{ |
| | 442 | # cd /var/lib/dropbox/ |
| | 443 | # wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar --no-same-owner -xzf - |
| | 444 | }}} |
| | 445 | Ev. muss zuvor die `http(s)`-Umgebungsvariable mit Nutzer und Passwort gesetzt werden. |
| | 446 | |
| | 447 | Das lädt den Daemon herunter und packt ihn in das Verzeichnis `.dropbox-dist` aus. Danach kann man Dropbox verwenden. |
| | 448 | |
| | 449 | === Evernote-Client installieren |
| | 450 | Siehe ticket:1761. |
| | 451 | |
| | 452 | |
| | 453 | === Google Earth |
| | 454 | 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: |
| | 455 | {{{ |
| | 456 | # apt install googleearth-package |
| | 457 | }}} |
| | 458 | - Dann die `http_proxy`-Variable setzen (am besten auf den Lehrerproxy) |
| | 459 | - Dann `make-googleearth-package --force --ceanup` aufrufen. |
| | 460 | - Abhängigkeiten von Hand installieren und dann googleearth-Paket installieren: |
| | 461 | {{{ |
| | 462 | # apt install lsb-core libfreeimage3 |
| | 463 | # dpkg -i <angegebener-Paketname> |
| | 464 | }}} |
| | 465 | |
| | 466 | === Backports der neueren Gnome-Session aktivieren |
| | 467 | |
| | 468 | Hinweis:: Dieser Vorgang wird hoffentlich mit einer späteren Ubuntu-Version überflüssig, die neuere Versionen von Gnome-Session enthält. Derzeit (Trusty 14.04 LTS) ist er noch nötig! |
| | 469 | |
| | 470 | Bisher arbeiteten unsere Clients noch nie mit aktivierter Grafikbeschleunigung, die war stets durch einen entprechenden Eintrag in der lts.conf deaktiviert. Ab Saucy funktionierte nicht einmal der Start der Gnome-Session mit aktivierter Beschleunigung (endlos drehendes Cursor-Rad). Nach langem suchen habe ich endlich jemanden gefunden, der das Problem ebenfalls beschreibt, siehe #1514 bzw. launchpad:1251281. |
| | 471 | |
| | 472 | Wir wollen aus diesem PPA nur auf spezielle Anfrage Pakete erhalten: |
| | 473 | {{{ |
| | 474 | # sudo add-apt-repository ppa:eugenesan/ppa |
| | 475 | # apt-get update |
| | 476 | # apt-get dist-upgrade |
| | 477 | }}} |
| | 478 | |
| | 479 | |
| | 480 | === Nur vorübergehend: Logout-Workaround |
| | 481 | |
| | 482 | Hinweis:: Diese Prozedur wird hoffentlich bald nicht mehr nötig sein: |
| | 483 | |
| | 484 | Die eben beschriebenen Backports bringen einen weiteren Bug mit ins Boot: Der Logout von der Gnome-Session über den normalen Logout-Knopf funktioniert derzeit nicht. Ich habe einen kleinen Logout-Starter geschrieben, das das Problem umgeht: |
| | 485 | |
| | 486 | {{{ |
| | 487 | # cd /root |
| | 488 | # svn update LTSP-setup |
| | 489 | # cp LTSP-setup/logout-workaround.desktop /usr/share/applications/ |
| | 490 | }}} |
| | 491 | |
| | 492 | Dieser Starter sollte in die Plank-Leiste gelegt werden bzw. ins Gnome-Panel oder auf den Desktop. |
| | 493 | |
| | 494 | |
| | 495 | |
| | 496 | == Hintergrundbild |
| | 497 | |
| | 498 | Das Default-Hintergrundbild, das mit Edubuntu kommt ändern: |
| | 499 | {{{ |
| | 500 | # cd /usr/share/backgrounds |
| | 501 | # rm edubuntu_default.{png,jpg} |
| | 502 | # ln -s <hintergrundbild.jpg> edubuntu_default.png |
| | 503 | # ln -s <hintergrundbild.jpg> edubuntu_default.jpg |
| | 504 | }}} |
| | 505 | Achtung, die Hintergründe werden seit einiger Zeit in den Homes der Nutzer gecached. Der Cache muss gelöscht werden, sonst wird das Bild aus dem Cache genommen. Dazu wird am besten **auf dem paedml** ausgeführt (Achtung, Vorsicht walten lassen): |
| | 506 | {{{ |
| | 507 | paedml# for h in $(teacherhomes) $(studenthomes) ; do rm -r $h/.cache/wallpaper/ ; done |
| | 508 | }}} |
| | 509 | Damit sollten alle Nutzer, die kein spezielles Bild ausgewählt hatten, das Salamanderbild erhalten. |
| | 510 | |
| | 511 | |
| | 512 | == Vorgaben für Gnome-Settings (dconf) einrichten |
| | 513 | |
| | 514 | Hinweis:: Derzeit wir der logout-Workaround als Logout-Knopf verwendet. Wenn irgendwann der eingebaute Logout-Knopf wieder funktioniert, kann wieder dieser verwendet werden (siehe auskommentierte Teile). |
| | 515 | |
| | 516 | - User-Datenbank einrichten und erzeugen: |
| | 517 | {{{ |
| | 518 | # cat > /etc/dconf/profile/user <<EOF |
| | 519 | user-db:user |
| | 520 | system-db:site |
| | 521 | EOF |
| | 522 | }}} |
| | 523 | {{{ |
| | 524 | # mkdir /etc/dconf/db/site.d |
| | 525 | # cat > /etc/dconf/db/site.d/00_site_settings <<EOF |
| | 526 | [org/gnome/metacity] |
| | 527 | compositing-manager=true |
| | 528 | |
| | 529 | [com/ubuntu/update-notifier] |
| | 530 | auto-launch=false |
| | 531 | hide-reboot-notification=true |
| | 532 | no-show-notifications=true |
| | 533 | show-apport-crashes=false |
| | 534 | |
| | 535 | [apps/indicator-session] |
| | 536 | suppress-restart-menuitem=true |
| | 537 | suppress-shutdown-menuitem=true |
| | 538 | |
| | 539 | [com/canonical/unity/launcher] |
| | 540 | 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'] |
| | 541 | |
| | 542 | # turn on the desktop switcher |
| | 543 | [org/compiz/profiles/unity/plugins/core] |
| | 544 | hsize=2 |
| | 545 | vsize=2 |
| | 546 | |
| | 547 | # turn off curser plugin in gnome-settings-daemon, see ticket:1212 |
| | 548 | [org/gnome/settings-daemon/plugins/cursor] |
| | 549 | active=false |
| | 550 | |
| | 551 | # set default keyboard layout from "de-nodeadkeys" to "de", see ticket:1217 |
| | 552 | [org/gnome/desktop/input-sources] |
| | 553 | sources=[('xkb', 'de'), ('xkb', 'de+nodeadkeys')] |
| | 554 | |
| | 555 | # set (and lock) gnome panel contents |
| | 556 | [org/gnome/gnome-panel/layout] |
| | 557 | #object-id-list=['menu-bar','indicators','logout-button','workspace-switcher'] |
| | 558 | object-id-list=['menu-bar','indicators','workspace-switcher','launcher'] |
| | 559 | toplevel-id-list=['top-panel'] |
| | 560 | |
| | 561 | [org/gnome/gnome-panel/layout/objects/indicators] |
| | 562 | object-iid='IndicatorAppletCompleteFactory::IndicatorAppletComplete' |
| | 563 | pack-index=0 |
| | 564 | pack-type='end' |
| | 565 | toplevel-id='top-panel' |
| | 566 | |
| | 567 | # [org/gnome/gnome-panel/layout/objects/logout-button] |
| | 568 | # object-iid='PanelInternalFactory::ActionButton:logout' |
| | 569 | # pack-index=0 |
| | 570 | # pack-type='end' |
| | 571 | # toplevel-id='top-panel' |
| | 572 | |
| | 573 | [org/gnome/gnome-panel/layout/objects/menu-bar] |
| | 574 | object-iid='PanelInternalFactory::MenuBar' |
| | 575 | pack-index=0 |
| | 576 | toplevel-id='top-panel' |
| | 577 | |
| | 578 | [org/gnome/gnome-panel/layout/objects/workspace-switcher] |
| | 579 | object-iid='WnckletFactory::WorkspaceSwitcherApplet' |
| | 580 | pack-index=1 |
| | 581 | pack-type='start' |
| | 582 | toplevel-id='top-panel' |
| | 583 | |
| | 584 | [org/gnome/gnome-panel/layout/objects/launcher] |
| | 585 | object-iid='PanelInternalFactory::Launcher' |
| | 586 | pack-index=0 |
| | 587 | pack-type='end' |
| | 588 | toplevel-id='top-panel' |
| | 589 | |
| | 590 | [org/gnome/gnome-panel/layout/objects/launcher/instance-config] |
| | 591 | location='/usr/share/applications/logout-workaround.desktop' |
| | 592 | |
| | 593 | [org/gnome/gnome-panel/layout/toplevels/top-panel] |
| | 594 | expand=true |
| | 595 | orientation='top' |
| | 596 | size=24 |
| | 597 | expand=true |
| | 598 | auto-hide=false |
| | 599 | enable-buttons=false |
| | 600 | |
| | 601 | [org/gnome/gnome-panel/lockdown] |
| | 602 | locked-down=true |
| | 603 | |
| | 604 | [org/gnome/desktop/screensaver] |
| | 605 | lock-enabled=false |
| | 606 | |
| | 607 | [org/gnome/clocks/state/window] |
| | 608 | panel-id='timer' |
| | 609 | EOF |
| | 610 | }}} |
| | 611 | {{{ |
| | 612 | # mkdir /etc/dconf/db/site.d/locks |
| | 613 | # cat > /etc/dconf/db/site.d/locks/00_site_locks <<EOF |
| | 614 | /org/gnome/metacity/compositing-manager |
| | 615 | |
| | 616 | /com/ubuntu/update-notifier/auto-launch |
| | 617 | |
| | 618 | /apps/indicator-session/suppress-shutdown-menuitem |
| | 619 | /apps/indicator-session/suppress-restart-menuitem |
| | 620 | |
| | 621 | /org/gnome/settings-daemon/plugins/cursor/active |
| | 622 | |
| | 623 | /org/gnome/desktop/input-sources/sources |
| | 624 | |
| | 625 | /org/gnome/gnome-panel/layout/object-id-list |
| | 626 | /org/gnome/gnome-panel/layout/toplevel-id-list |
| | 627 | |
| | 628 | /org/gnome/gnome-panel/layout/objects/indicators/object-iid |
| | 629 | /org/gnome/gnome-panel/layout/objects/indicators/pack-index |
| | 630 | /org/gnome/gnome-panel/layout/objects/indicators/pack-type |
| | 631 | /org/gnome/gnome-panel/layout/objects/indicators/toplevel-id |
| | 632 | |
| | 633 | #/org/gnome/gnome-panel/layout/objects/logout-button/object-iid |
| | 634 | #/org/gnome/gnome-panel/layout/objects/logout-button/pack-index |
| | 635 | #/org/gnome/gnome-panel/layout/objects/logout-button/pack-type |
| | 636 | #/org/gnome/gnome-panel/layout/objects/logout-button/toplevel-id |
| | 637 | |
| | 638 | /org/gnome/gnome-panel/layout/objects/menu-bar/object-iid |
| | 639 | /org/gnome/gnome-panel/layout/objects/menu-bar/pack-index |
| | 640 | /org/gnome/gnome-panel/layout/objects/menu-bar/toplevel-id |
| | 641 | |
| | 642 | /org/gnome/gnome-panel/layout/objects/workspace-switcher/object-iid |
| | 643 | /org/gnome/gnome-panel/layout/objects/workspace-switcher/pack-index |
| | 644 | /org/gnome/gnome-panel/layout/objects/workspace-switcher/pack-type |
| | 645 | /org/gnome/gnome-panel/layout/objects/workspace-switcher/toplevel-id |
| | 646 | |
| | 647 | /org/gnome/gnome-panel/layout/objects/launcher/object-iid |
| | 648 | /org/gnome/gnome-panel/layout/objects/launcher/pack-index |
| | 649 | /org/gnome/gnome-panel/layout/objects/launcher/pack-type |
| | 650 | /org/gnome/gnome-panel/layout/objects/launcher/toplevel-id |
| | 651 | |
| | 652 | /org/gnome/gnome-panel/layout/objects/launcher/instance-config/location |
| | 653 | |
| | 654 | /org/gnome/gnome-panel/layout/toplevels/top-panel/expand |
| | 655 | /org/gnome/gnome-panel/layout/toplevels/top-panel/orientation |
| | 656 | /org/gnome/gnome-panel/layout/toplevels/top-panel/size |
| | 657 | /org/gnome/gnome-panel/layout/toplevels/top-panel/auto-hide |
| | 658 | /org/gnome/gnome-panel/layout/toplevels/top-panel/expand |
| | 659 | /org/gnome/gnome-panel/layout/toplevels/top-panel/enable-buttons |
| | 660 | |
| | 661 | /org/gnome/gnome-panel/lockdown/locked-down |
| | 662 | |
| | 663 | /org/gnome/desktop/screensaver/lock-enabled |
| | 664 | EOF |
| | 665 | }}} |
| | 666 | {{{ |
| | 667 | # dconf update |
| | 668 | }}} |
| | 669 | |
| | 670 | |
| | 671 | == (Vorgaben für GConf einrichten) |
| | 672 | |
| | 673 | Nachdem Docky nicht mehr verwendet wird, benötigen wir keine Vorgaben mehr, die über das klassiche GCOnf verteilt werden. |
| | 674 | |
| | 675 | == (pam_systemd) |
| | 676 | |
| | 677 | **Diese Maßnahme scheint nicht benötigt zu werden. Der neu aufgesetzte Server läuft auc mit aktiviertem pam_systemd prächtig!** |
| | 678 | |
| | 679 | (ev. pam_systemd abschalten, siehe #1208) |
| | 680 | |
| | 681 | |
| | 682 | == Timeserver |
| | 683 | |
| | 684 | - ntpd installieren (zuverlässiger als das mitgelieferte `ntpdate`, siehe `man ntpdate`) |
| | 685 | {{{ |
| | 686 | # apt-get install ntp |
| | 687 | }}} |
| | 688 | - in `/etc/ntp.conf` alle `server`-Zeilen auskommentieren, dann einfügen: |
| | 689 | |
| | 690 | Im Schülernetz:: |
| | 691 | {{{ |
| | 692 | server ntp.kg-fds.de |
| | 693 | restrict 10.32.0.0 mask 255.240.0.0 |
| | 694 | }}} |
| | 695 | |
| | 696 | Im Lehrernetz:: |
| | 697 | {{{ |
| | 698 | server ntp.kg-fds.de |
| | 699 | restrict 10.16.112.0 mask 255.255.254.0 |
| | 700 | }}} |
| | 701 | |
| | 702 | (Der Name `ntp.kg-fds.de` wird im Schüler- wie Lehrernetz zu einer geeigneten Adresse aufgelöst.) |
| | 703 | |
| | 704 | - dann |
| | 705 | {{{ |
| | 706 | # service ntp restart |
| | 707 | }}} |
| | 708 | |
| | 709 | |
| | 710 | |
| | 711 | == Skripte in `/usr/local/sbin` |
| | 712 | {{{ |
| | 713 | # rmdir /usr/local/sbin/ |
| | 714 | # svn checkout svn+ssh://root@paedml/srv/svn/keplertools/scripts/trunk/ /usr/local/sbin/ |
| | 715 | }}} |
| | 716 | |
| | 717 | |
| | 718 | == Autostart-Skripte |
| | 719 | |
| | 720 | === Synapse automatisch starten |
| | 721 | {{{ |
| | 722 | # cat > /etc/xdg/autostart/synapse.desktop <<EOF |
| | 723 | [Desktop Entry] |
| | 724 | Name=Synapse |
| | 725 | Exec=synapse --startup |
| | 726 | Encoding=UTF-8 |
| | 727 | Type=Application |
| | 728 | X-GNOME-Autostart-enabled=true |
| | 729 | Icon=synapse |
| | 730 | EOF |
| | 731 | }}} |
| | 732 | |
| | 733 | === LTSP-startup-Skript |
| | 734 | Das Skript `ltsp-startup` zeigt beim Login den Inhalt der Datei `/etc/ltsp-motd` an, sofern vorhanden: |
| | 735 | {{{ |
| | 736 | # cat > /etc/xdg/autostart/ltsp-startup.desktop <<EOF |
| | 737 | [Desktop Entry] |
| | 738 | Type=Application |
| | 739 | Exec=ltsp-startup |
| | 740 | Hidden=false |
| | 741 | NoDisplay=false |
| | 742 | X-GNOME-Autostart-enabled=true |
| | 743 | Name=LTSP startup script |
| | 744 | Comment=Skript, das beim Einloggen an LTSP-Clients ausgeführt wird. |
| | 745 | EOF |
| | 746 | }}} |
| | 747 | |
| | 748 | === (Zeitgeist deaktivieren(?)) |
| | 749 | |
| | 750 | **Dieser Schritt scheint nicht weiter benötigt zu werden. Der neu aufgesetzte Server läuft prima mit aktivierterm Zeitgeist!** |
| | 751 | |
| | 752 | (Ev. die Datei `zeitgeist-datahub.desktop` aus `/etc/xdg/autostart/` entfernen oder in ein anderes Unterverzeichnis verschieben. |
| | 753 | |
| | 754 | |
| | 755 | == Cronskripte |
| | 756 | |
| | 757 | === globale Crontab |
| | 758 | |
| | 759 | In `/etc/crontab` **und** `/etc/anacrontab` muss der Proxy eingetragen werden, damit der flashplugin-installer seine Datei herunterladen kann: |
| | 760 | |
| | 761 | Im oberen Bereich von `/etc/crontab` **und** `/etc/anacrontab`: |
| | 762 | |
| | 763 | Im Schülernetz:: |
| | 764 | {{{ |
| | 765 | # package flashplugin-installer needs to know the proxy: |
| | 766 | # note: put this into /etc/anacrontab, too, if anacron is installed |
| | 767 | http_proxy=http://10.32.1.253:3128 |
| | 768 | }}} |
| | 769 | |
| | 770 | Im Lehrernetz:: |
| | 771 | {{{ |
| | 772 | # package flashplugin-installer needs to know the proxy: |
| | 773 | # note: put this into /etc/anacrontab, too, if anacron is installed |
| | 774 | http_proxy=http://129.143.4.2:8080 |
| | 775 | }}} |
| | 776 | |
| | 777 | **Der folgende Schritt wird viell. nicht mehr benötigt, derzeit läuft der neue Server gut ohne dieses Skript:** |
| | 778 | TODO(?): |
| | 779 | Derzeit ist in der crontab außerdem das Skript eingetragen, das hängende Bind-Mounts entfernt (kann in Zukunft hoffentlich entfallen): |
| | 780 | |
| | 781 | Unten in `/etc/crontab` anfügen: |
| | 782 | {{{ |
| | 783 | */10 7-19 * * * root kepler--umount_cifs -f -m |
| | 784 | }}} |
| | 785 | |
| | 786 | === (Kepler-spezifische Cronskripte) |
| | 787 | |
| | 788 | (Derzeit stehen auf den LTSP-Servern //keine// Kepler-spezifischen Skripte in `/etc/cron.{hourly,daily,weekly,monthly}`.) |
| | 789 | |
| | 790 | |
| | 791 | == Mountall-Workaround in `/etc/rc.local` |
| | 792 | |
| | 793 | **Dieser Workaround wird vermutlich nicht mehr benötigt! Der neue Server scheint auch ohne gut zu booten.** |
| | 794 | |
| | 795 | (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.) |
| | 796 | |
| | 797 | Querverweis: #856 |
| | 798 | |
| | 799 | |
| | 800 | == Herunterfahren unterbinden |
| | 801 | |
| | 802 | **Achtung! Dieser Punkt steht im Verdacht, für die !Login/Logout-Probleme auf den LtspServern verantwortlich zu sein! Vorerst lieber auslassen!** |
| | 803 | |
| | 804 | 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.) |
| | 805 | |
| | 806 | Das ist bequem über ein policykit-Konfigurationsfile möglich: |
| | 807 | |
| | 808 | {{{ |
| | 809 | # cat > /etc/polkit-1/localauthority/90-mandatory.d/kepler--disable-shutdown-restart-suspend-hibernate.pkla <<EOF |
| | 810 | [Disable shutdown/whatever] |
| | 811 | Identity=unix-user:* |
| | 812 | Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.restart;org.freedesktop.upower.suspend;org.freedesktop.upower.hibernate |
| | 813 | ResultAny=no |
| | 814 | ResultInactive=no |
| | 815 | ResultActive=no |
| | 816 | EOF |
| | 817 | }}} |
| | 818 | (Querverweise: http://askubuntu.com/questions/93542/how-to-disable-shutdown-reboot-suspend-hibernate/93956#93956, #215) |
| | 819 | |
| | 820 | |
| | 821 | == Postfix |
| | 822 | |
| | 823 | Vom neuen Server soll Mail an die Nutzer des Kepler-Netzwerkes zu verschicken sein. Insbesondere soll Mail an `root` nicht auf dem lokalen Server stecken bleiben, sondern an den paedml weitergeschickt werden. Dazu muss ein MTA installiert werden, wir nutzen Postfix: |
| | 824 | - Paket `postfix` installieren (falls noch nicht geschehen) |
| | 825 | {{{ |
| | 826 | # apt-get install postfix |
| | 827 | }}} |
| | 828 | - Nicht alle nötigen Optionen werden bei der Installation abgefragt, daher nach der Installation noch einmal ein `dpkg-reconfigure postfix` machen. Postfix muss so konfiguriert werden, dass er alle Mail an den paedml weiterschickt: |
| | 829 | {{{ |
| | 830 | # dpkg-reconfigure postfix |
| | 831 | }}} |
| | 832 | - "Satellitensystem" wählen |
| | 833 | - System-Emailendung: `kg-fds.de` |
| | 834 | - Relayhost: `paedml.kg-fds.de` |
| | 835 | - Empfänger für Mails an `root` und `postmaster`: `root@kg-fds.de` |
| | 836 | - alle anderen Einstellungen können unverändert übernommen werden. |
| | 837 | - Testmails verschicken, an: |
| | 838 | - `<nutzer>` |
| | 839 | - `<nutzer>@kg-fds.de` |
| | 840 | - `root` |
| | 841 | |
| | 842 | Hinweis:: Bei virtualisierten Servern sollte ein MTA auch auf dem Virtualisierungshost installiert sein, damit auch der root@paedml erreicht. (Z.B. für SMART-Statusmeldungen, siehe nächster Punkt) |
| | 843 | |
| | 844 | == SMART |
| | 845 | |
| | 846 | Hinweis:: Bei virtualisierten Servern ist es wohl sinnvoller, SMART auf dem Virtualisierungshost zu konfigurieren, nicht in der VM. |
| | 847 | |
| | 848 | Auf der neuen Maschine //bzw. auf dem Virtualisierungshost//:: |
| | 849 | - Vorgehen wie unter AdminSmart beschrieben |
| | 850 | |
| | 851 | |
| | 852 | |
| | 853 | == Nagios auf paedml anpassen |
| | 854 | |
| | 855 | - **Auf dem paedml** in `/etc/nagios3/conf.d/linuxmuster_custom.cfg` entsprechende Einträge per copy-and-paste erstellen, die den neuen Server auf Lebenszeichen testen. |
| | 856 | - Ist die neue Maschine virtualisiert, zwei Einträge erstellen, sowohl für den Virtualisierungshost wie auch die VM. |
| | 857 | |
| | 858 | |
| | 859 | == LTSP einrichten |
| | 860 | |
| | 861 | === LTSP-Client-Image |
| | 862 | |
| | 863 | - 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: |
| | 864 | {{{ |
| | 865 | # rm -r /etc/ltsp/* |
| | 866 | # rm -r /opt/ltsp/* |
| | 867 | }}} |
| | 868 | |
| | 869 | - Dann weiter wie unter LtspServerUpdate#ltsp-build-client beschrieben. |
| | 870 | |
| | 871 | |
| | 872 | === dnsmasq |
| | 873 | |
| | 874 | 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. |
| | 875 | |
| | 876 | - Unser neuer Server benötigt das Verzeichnis `/etc/linuxmuster`: |
| | 877 | {{{ |
| | 878 | # mkdir /etc/linuxmuster |
| | 879 | }}} |
| | 880 | - dann: |
| | 881 | {{{ |
| | 882 | # apt-get install dnsmasq |
| | 883 | # ln -s /etc/linuxmuster/ltsp_config /etc/dnsmasq.d/ |
| | 884 | }}} |
| | 885 | - In `/etc/default/dnsmasq` ändern: |
| | 886 | {{{ |
| | 887 | CONFIG_DIR=/etc/dnsmasq.d/ltsp_config/$(hostname)/conf,.dpkg-dist,.dpkg-old,.dpkg-new |
| | 888 | }}} |
| | 889 | |
| | 890 | === make_ltsp_config-Skript |
| | 891 | |
| | 892 | Auf dem paedml muss ein Verzeichnis für die DHCP-Config des neuen Servers angelegt werden: |
| | 893 | |
| | 894 | Auf dem paedml:: |
| | 895 | {{{ |
| | 896 | # mkdir -p /etc/linuxmuster/ltsp_config/ltsp<ServerNummer>/ |
| | 897 | }}} |
| | 898 | |
| | 899 | Das Skript `make_ltsp_config`, das die zu beantwortenden DHCP-Anfragen festlegt, muss um den Hostnamen des neuen Servers erweitert werden:\\ |
| | 900 | Auf dem paedml die passenden Anpassungen vornehmen (Schleifen): |
| | 901 | {{{ |
| | 902 | # emacs -nw /usr/local/sbin/make_ltsp_config |
| | 903 | # emacs -nw /usr/local/sbin/make_ltsp_config.php |
| | 904 | # svn commit /usr/local/sbin/make_ltsp_config* |
| | 905 | # make_ltsp_config |
| | 906 | }}} |
| | 907 | |
| | 908 | === TFT-Boot einrichten |
| | 909 | |
| | 910 | - 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:\\ |
| | 911 | Datei `/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/0A` erzeugen, mit Inhalt |
| | 912 | |
| | 913 | Im Schülernetz:: |
| | 914 | {{{ |
| | 915 | default keplerltsp |
| | 916 | label keplerltsp |
| | 917 | kernel vmlinuz |
| | 918 | 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 |
| | 919 | }}} |
| | 920 | |
| | 921 | Im Lehrernetz:: |
| | 922 | {{{ |
| | 923 | default keplerltsp |
| | 924 | label keplerltsp |
| | 925 | kernel vmlinuz |
| | 926 | 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 |
| | 927 | }}} |
| | 928 | |
| | 929 | === Automatisches Herunterfahren der Clients beim Server-Shutdown |
| | 930 | |
| | 931 | 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. |
| | 932 | 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: |
| | 933 | {{{ |
| | 934 | # cat >> /etc/inetd.conf <<EOF |
| | 935 | 2001 stream tcp nowait nobody /usr/sbin/tcpd /bin/cat /etc/ltsp-message |
| | 936 | EOF |
| | 937 | }}} |
| | 938 | |
| | 939 | 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: |
| | 940 | {{{ |
| | 941 | # apt-get install molly-guard |
| | 942 | # cd /etc/molly-guard/run.d |
| | 943 | # mv 30-query-hostname disabled--30-query-hostname |
| | 944 | }}} |
| | 945 | {{{ |
| | 946 | # cat > 30-kepler--ask-confirmation <<"EOF" |
| | 947 | #!/bin/bash |
| | 948 | |
| | 949 | echo "This will shut down all my LTSP clients and reboot this server. |
| | 950 | Note: Don't do this while people are logged in on the clients, |
| | 951 | or they will kill you. You have been warned." |
| | 952 | |
| | 953 | read -n1 -p "Is this really what you want to do (y/n)? " answer |
| | 954 | echo |
| | 955 | |
| | 956 | if [[ $answer == "y" ]] ; then |
| | 957 | exit 0 |
| | 958 | else |
| | 959 | exit 1 |
| | 960 | fi |
| | 961 | EOF |
| | 962 | }}} |
| | 963 | {{{ |
| | 964 | # cat > 40-kepler--shutdown-my-clients <<EOF |
| | 965 | #!/bin/bash |
| | 966 | |
| | 967 | if [[ $(id -u) != 0 ]] ; then |
| | 968 | echo $0: Need to be root |
| | 969 | exit 1 |
| | 970 | fi |
| | 971 | |
| | 972 | shutdownclients --mine |
| | 973 | |
| | 974 | exit $? |
| | 975 | EOF |
| | 976 | }}} |
| | 977 | {{{ |
| | 978 | # chmod a+x 30-kepler--ask-confirmation |
| | 979 | # chmod a+x 40-kepler--shutdown-my-clients |
| | 980 | # chmod a-x disabled--30-query-hostname |
| | 981 | }}} |
| | 982 | |
| | 983 | Geht beim Shutdown etwas schief, darf die Shutdown-Message nicht in der Datei `/etc/ltsp-message` stehen bleiben, weil sonst die Clients direkt nach dem Start wieder herunterfahren (ticket:1114). Die Datei sollte daher bei jedem Boot geleert werden. |
| | 984 | |
| | 985 | Dazu in /etc/rc.local die Zeilen einfügen: |
| | 986 | {{{ |
| | 987 | echo "Clearing /etc/ltsp-message." |
| | 988 | echo > /etc/ltsp-message |
| | 989 | }}} |
| | 990 | |
| | 991 | |
| | 992 | == Drucker einrichten |
| | 993 | |
| | 994 | Die Drucker werden über den CUPS des paedml zur Verfügung gestellt. Auf dem paedml ist das "printer-sharing" aktiviert, so dass die LtspServer die verfügbaren Drucker selbst entdecken. Dabei sollen sie nur die Drucker anzeigen, die vom paedml veröffentlicht werden. Sonst erscheinen auch Drucker, die an Rechnern irgendwo im Netzwerk eingerichtet sind -- z.B. an der TGS oder am Laptop von Kollegen ("Drucker-Waschküche"). |
| | 995 | |
| | 996 | In `/etc/cups/cups-browsed.conf` einfügen: |
| | 997 | Im Schülernetz:: |
| | 998 | {{{ |
| | 999 | BrowseAllow 10.32.1.1 |
| | 1000 | }}} |
| | 1001 | Im Lehrernetz:: |
| | 1002 | {{{ |
| | 1003 | BrowseAllow 10.16.112.4 |
| | 1004 | }}} |
| | 1005 | |
| | 1006 | Hinweis:: Wegen eines (vermutlichen) Bugs im CUPS-Browse-Daemon werden zwar die Drucker, aber nicht die Druckerklassen automatisch erkannt. Solange das nicht behoben ist, muss unsere Druckerklasse (derzeit haben wir ja nur eine) manuell auf den ltspServern eingerichtet werden: |
| | 1007 | |
| | 1008 | `/etc/cups/classes.conf` erzeugen mit Inhalt: |
| | 1009 | {{{ |
| | 1010 | <DefaultClass DruckerLZ> |
| | 1011 | UUID urn:uuid:9c344d97-22d8-3c49-6349-4f3ec0ce77fe |
| | 1012 | Info Lexmark links oder rechts im LZ |
| | 1013 | Location Lehrerzimmer |
| | 1014 | State Idle |
| | 1015 | StateTime 1348058275 |
| | 1016 | Accepting Yes |
| | 1017 | Shared Yes |
| | 1018 | JobSheets none none |
| | 1019 | Printer LaserLZ |
| | 1020 | Printer LaserLZr |
| | 1021 | QuotaPeriod 0 |
| | 1022 | PageLimit 0 |
| | 1023 | KLimit 0 |
| | 1024 | AllowUser @lpadmin |
| | 1025 | AllowUser @teachers |
| | 1026 | AllowUser pgmadmin |
| | 1027 | OpPolicy default |
| | 1028 | ErrorPolicy retry-current-job |
| | 1029 | </Class> |
| | 1030 | }}} |
| | 1031 | |
| | 1032 | |
| | 1033 | |
| | 1034 | |
| | 1035 | == (Überflüssige Dienste deaktivieren(?)) |
| | 1036 | |
| | 1037 | **Da der neu Server derzeit mit aktivierten Standarddiensten gut zu laufen scheint, diesen Punkt erst einmal auslassen und beobachten.** |
| | 1038 | |
| | 1039 | Korrektur: derzeit ist auf ltsp8 das Network-Manager-Applet und zwei Plugins deaktiviert: |
| | 1040 | {{{ |
| | 1041 | # apt-get purge network-manager-pptp |
| | 1042 | # apt-get purge network-manager-pptp-gnome |
| | 1043 | # apt-get purge network-manager-gnome |
| | 1044 | }}} |
| | 1045 | |
| | 1046 | (Ev. bestimmte Dienste deaktivieren, Querverweis: #569) |
| | 1047 | |
| | 1048 | |
| | 1049 | == clusterssh einrichten |
| | 1050 | |
| | 1051 | {{{ |
| | 1052 | # apt-get install clusterssh |
| | 1053 | # cat > /etc/clusters <<EOF |
| | 1054 | # this file defines clusters for the cluster-ssh utility (cssh) |
| | 1055 | ltsp root@ltsp1 root@ltsp2 root@ltsp3 root@ltsp4 root@ltsp5 root@ltsp6 root@ltsp7 root@ltsp8 |
| | 1056 | ltspl root@ltspl1 root@ltspl2 |
| | 1057 | proxmoxltsp root@proxmoxltsp1 root@proxmoxltsp2 root@proxmoxltsp3 root@proxmoxltsp4 root@proxmoxltsp5 root@proxmoxltsp6 root@proxmoxltsp7 root@proxmoxltspl1 root@proxmoxltspl2 |
| | 1058 | default ltsp ltspl |
| | 1059 | EOF |
| | 1060 | }}} |
| | 1061 | |
| | 1062 | |
| | 1063 | == Skript `rsync-to-all-ltsp-servers` erweitern |
| | 1064 | |
| | 1065 | Im Skript, das wir zum bequemen Verteilen von Dateien auf alle LtspServer verwenden, muss die Schleife um den Namen des neuen Servers erweitert werden: |
| | 1066 | |
| | 1067 | source:/keplertools/scripts/trunk/rsync-to-all-ltsp-servers |
| | 1068 | |
| | 1069 | - Anpassung in irgend einer ausgecheckten svn-Version vornehmen |
| | 1070 | - danach **auf allen LtspServern(!)** ein |
| | 1071 | {{{ |
| | 1072 | # svn update /usr/local/sbin/ |
| | 1073 | }}} |
| | 1074 | |
| | 1075 | |
| | 1076 | == pam_group aktivieren |
| | 1077 | |
| | 1078 | Damit die Dokumentenkameras funktionieren, müssen alle User Mitglieder in der Gruppe video (Gruppe auf dem LTSP-Server, nicht: LDAP-Gruppe!) sein. |
| | 1079 | Für die Benutzung der Bildschirmüberwachung müssen die Lehrer in der Gruppe epoptes sein. |
| | 1080 | Das geht mit dem pam_group-Mechanismus, der den User beim Login in die angegebenen Gruppen zuweist: |
| | 1081 | |
| | 1082 | |
| | 1083 | * Eintrag in /etc/security/group.conf: |
| | 1084 | {{{ |
| | 1085 | *;*;*;Al0000-2400;video |
| | 1086 | *;*;%teachers;Al0000-2400;epoptes |
| | 1087 | }}} |
| | 1088 | * Neue Datei /usr/share/pam-configs/pamgroups: |
| | 1089 | {{{ |
| | 1090 | Name: activate /etc/security/group.conf |
| | 1091 | Default: yes |
| | 1092 | Priority: 900 |
| | 1093 | Auth-Type: Primary |
| | 1094 | Auth: |
| | 1095 | required pam_group.so use_first_pass |
| | 1096 | }}} |
| | 1097 | * dann: |
| | 1098 | {{{ |
| | 1099 | # pam-auth-update |
| | 1100 | # service nscd restart |
| | 1101 | }}} |
| | 1102 | |
| | 1103 | 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! |
| | 1104 | |
| | 1105 | |
| | 1106 | == Virtualbox konfigurieren |
| | 1107 | |
| | 1108 | Wir stellen derzeit zwei Virtualbox-Umgebungen zur Verfügung, eine für die TI-Emulation, eine zweite für InfoSys (nur im Lehrernetz). |
| | 1109 | |
| | 1110 | Die Maschinen sind für alle Lehrer eingerichtet, die virtuellen Festplatten (vdi-Files) liegen aus Effizienzgründen aber lokal auf den LtspServern. |
| | 1111 | |
| | 1112 | Die beiden folgenden Verzeichnisse müssen von einem (geeigneten, d.h. mit gleicher Prozessorarchitektur) LtspServer kopiert werden: |
| | 1113 | {{{ |
| | 1114 | # rsync -a <ltspserver>:/usr/share/virtualbox-vdi /usr/share/ |
| | 1115 | # rsync -a <ltspserver>:/usr/share/virtualbox-saved /usr/share/ |
| | 1116 | }}} |
| | 1117 | |
| | 1118 | 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. |
| | 1119 | |
| | 1120 | Die Starter von `/usr/share/virtualbox-saved/` müssen nach `/usr/share/applications/` kopiert werden: |
| | 1121 | |
| | 1122 | {{{ |
| | 1123 | # cp /usr/share/virtualbox-saved/{TINSpire,InfoSys}.desktop /usr/share/applications/ |
| | 1124 | }}} |
| | 1125 | |
| | 1126 | |
| | 1127 | |
| | 1128 | == Epoptes konfigurieren |
| | 1129 | |
| | 1130 | === Nur für den dedizierten Epoptes-Server |
| | 1131 | |
| | 1132 | Hinweis:: Diese Schritte sind nur nötig, wenn der neue Server der dedizierte Epoptes-Server sein soll (derzeit ltsp6). |
| | 1133 | |
| | 1134 | Die Schritte durchführen, die unter AdminEpoptes#EinrichtungdesdediziertenEpoptes-Serversderzeitltsp6 beschrieben sind. |
| | 1135 | |
| | 1136 | === Generell |
| | 1137 | |
| | 1138 | Mit epoptes können die Schülerbildschirme kontrolliert werden. |
| | 1139 | 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. |
| | 1140 | |
| | 1141 | In `/etc/xdg/autostart/epoptes-client.desktop`: |
| | 1142 | {{{ |
| | 1143 | [Desktop Entry] |
| | 1144 | ... |
| | 1145 | #Exec=/usr/sbin/epoptes-client |
| | 1146 | Exec=/usr/local/sbin/kepler--epoptes-client-starter |
| | 1147 | ... |
| | 1148 | }}} |
| | 1149 | |
| | 1150 | Für die Kollegen gibt es die Möglichkeit, die Fernwartung per epoptes trotzdem einzuschalten. |
| | 1151 | |
| | 1152 | Neue Datei `/usr/share/applications/epoptes-client.desktop`: (Aufruf: Fernwartung): |
| | 1153 | {{{ |
| | 1154 | [Desktop Entry] |
| | 1155 | Name=Überwachung meines Bildschirms erlauben |
| | 1156 | Comment=Ermöglicht für die Dauer dieser Sitzung, dass Administratoren (und andere Lehrer) Ihren Bildschirminhalt sehen und ihren Rechner steuern können. |
| | 1157 | 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" |
| | 1158 | Icon=epoptes |
| | 1159 | Terminal=false |
| | 1160 | Type=Application |
| | 1161 | Categories=Network;Settings;Utility;RemoteAccess;DesktopSettings;Security;Accessibility; |
| | 1162 | }}} |
| | 1163 | |
| | 1164 | Die Kollegen können auch Schülerdesktops überwachen. |
| | 1165 | |
| | 1166 | Neue Datei `/usr/share/applications/epoptes-app-starter.desktop` (Aufruf: //Bildschirme der Schüler anzeigen`): |
| | 1167 | {{{ |
| | 1168 | [Desktop Entry] |
| | 1169 | Name=Bildschirme der Schüler anzeigen |
| | 1170 | Comment=Die Lab-Management-Software Epoptes erlaubt es, den eingeloggten Schülern auf den Bildschirm zu sehen und ihre Rechner zu steuern. |
| | 1171 | Exec=/usr/local/sbin/kepler--epoptes-app-starter |
| | 1172 | Icon=epoptes |
| | 1173 | Terminal=false |
| | 1174 | Type=Application |
| | 1175 | Categories=Education;Network;Utility;Monitor;RemoteAccess; |
| | 1176 | }}} |
| | 1177 | |
| | 1178 | Damit der passwortlose Zugang zum ltsp6 als epoptes funktioniert muss die /etc/ssh/ssh_config angepasst werden (anfügen am Ende): |
| | 1179 | {{{ |
| | 1180 | Host epoptes_server |
| | 1181 | Hostname ltsp6 |
| | 1182 | User epoptes |
| | 1183 | IdentityFile /etc/ssl/certs/epoptes_key |
| | 1184 | ForwardX11 yes |
| | 1185 | StrictHostKeyChecking no |
| | 1186 | }}} |
| | 1187 | |
| | 1188 | 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): |
| | 1189 | {{{ |
| | 1190 | # echo -n "ltsp6,10.32.2.6 " >> /etc/ssh/ssh_known_hosts |
| | 1191 | # ssh >> /etc/ssh/ssh_known_hosts ltsp6 cat /etc/ssh/ssh_host_ecdsa_key.pub |
| | 1192 | }}} |
| | 1193 | |
| | 1194 | |
| | 1195 | |
| | 1196 | |
| | 1197 | === Epoptes auf ltspl (Lehrernetz) einrichten |
| | 1198 | |
| | 1199 | - Damit die Überwachung der Schülerrechner aus dem Lehrernetz klappt, muss [#Netzwerkeinrichten wie oben bei der Netzwerkeinrichtung beschrieben], eine Route ins Schülernetz gesetzt sein. |
| | 1200 | |
| | 1201 | |
| | 1202 | |
| | 1203 | === Kepler-Logos |
| | 1204 | |
| | 1205 | Für unsere Briefpapiervorlage und andere Zwecke sollen die Kepler-Logos unter `/usr/local/include` liegen. Das Verzeichnis kann vom paedml kopiert werden: |
| | 1206 | {{{ |
| | 1207 | # rsync -av paedml:/usr/local/include /usr/local/ |
| | 1208 | }}} |
| | 1209 | |
| | 1210 | Test:: Danach sollte die LaTeX-Briefvorlage, die man per Rechtsklick auf dem Desktop erreicht, kompilieren. |
| | 1211 | |
| | 1212 | |
| | 1213 | |
| | 1214 | |
| | 1215 | |
| | 1216 | ---- |
| | 1217 | [[CC_BY_NC_SA(Dr. Rüdiger Kupper, Kepler-Gymnasium Freudenstadt)]] |
| | 1218 | |