| Version 28 (modified by , 10 years ago) ( diff ) |
|---|
-
Aufsetzen eines Linuxmuster-Clients from scratch
- Bei Bedarf: Client aufnehmen
- (Ed)ubuntu installieren
- Grundkonfiguration
- Software
- linuxmuster.net-Paket
- LightDM konfigurieren
- Hintergrundbild
- Vorgaben für Gnome-Settings (dconf) einrichten
- (Vorgaben für GConf einrichten)
- Timeserver
-
Skripte in
/usr/local/sbin - Cronskripte
- Postfix
- SMART
- Drucker einrichten
- pam_group aktivieren
- Virtualbox konfigurieren
- Epoptes konfigurieren
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/sda1als/(formatieren)/dev/sda2als/usr/share/virtualbox-vdi/dev/sda3als 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 <<EOF ssh-dss AAAAB3NzaC1kc3MAAACBAMdoKtqur91lfZex03bRLQz37MIRWjY3u+9FQORjEgBUhUBU40rPdsQo5iWhZeP0bIVBYnxbtESbhO3jJDciRpcXsVvUGMri/d/YEsb4TFueZBonGtaCKc460ox2ZfO60k5qjj4wasHe2otkqLfhoyimqFIRsJRhGrEcXg17x5pXAAAAFQCpq9gXtdCrSDWniYuThDw2hgHE0wAAAIB2UjzLoPrw0tdTFNtgWdf3JFnHj0GmNKVXyqoNAA12Gz4Ea4Rr9nugIzyE1wQbqXoYhBU+jaHxrYwveZu/mhzl/5Mu7Xvfk4Vu/Nh7vRZVRDDvupB8TnEujJUrqiB1s9gxXyrMm18+yS0Xr8SlEnImKK6T7LECq/ymYBKr3/n9pQAAAIEAtBFY+a3fbRhaFggaybJJYB9qai19QVTGDHyjGthmOpz3UMj843QdG48tCUsiPuZumeHxbjc+Nx4ye6PPpGi9Edu170zlKqnOjTknZ0Kzo/hALI0Kn+q72wlQfsEGR9ulub+Oov+kwg9DWsMGs3/MsUvCvSjQjAS09Sr/L0nQH84= root@paedml ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFPgkPpCEL/DocyXSbl2FmJeL1FuQ0AE5zjGgK2IJ3/u9o8eet6UWOABX2zLNk393rYvzE6jhgng3LTCXxzhdsQ= root@paedml ssh-dss AAAAB3NzaC1kc3MAAACBAKJtBo9a4cqiBjshdfGiV0jkPyaPho4ew1CiEw2qLOgoRWrUZ3LFnm10pbhIH0mm4HcYkyszIQLBB21ryDmsNLfs2hqQF9vD2bOls29rfBGp6KDzfP9JJfJijPhrzYuFK7slyki/PVqTEL0vdcfQBH/sIZkgGQZX2avA1hG/iV4XAAAAFQCNepeRPaWXhTBR8k8igkPLalAEyQAAAIEAlriuMxQW8GkUzan3zvV4uTVlPSxlXGzLvQBEnwS2GD3PLKuTMAZj4j6mCAUy/c6jwZDZ+6YRgHD8J4ZdZExb8qDhj7Dmd7WhWblZ+KiBsZLYBUeEwcC0suPmnOSL2RXx3d2b+LtgnXJBnlUg2ipPveA/PgbLEx1GUUHCM1FXJuQAAACAGheG34JXHdAaxp7gfUPQfj0KVERZe6tCVAGbZKgYZy+abBZA3GeJdy0+w+MDzpSTMCnMW6g+tLHYzKjhGreR/qIWU3oK9+s6uiaqE0ExheH06sum2BvJj8sS8gFbYd0e5xYKdr1BrENGW22F+/IbNeogR6gu/rQ+GRAHHG+oY9g= Dr. Rüdiger Kupper ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDgrXpLQR5MtdHsLmhHWO2fQlGnVaxEdWFatjF52SXYEXKZ1MdLSBlTaD2UMBGpeZxqfFypxtcq7/bvygli7Knht9BInJTy0ADFwKBTE0Q3oFIVqDh2jkmfnmEoBXfkaMvzCFDv2PWGF6xWAChX2JLn8oP4uyG5sfhebykChuheYHU2rPtXuZntMdWdttExFIw6UhInSrsuPY1YGP0zr7Cd+JB0baZxk3qIPiNj/ALGl0HtAFUgOX4FmcJjUuZOsCUQzMxHQqeyWpSbD0fMXRS16Z2raTVGzhYXnt5CqjPpKkg8add90cWYM103Fyjd8CDtzkTl1k8dsP590xJiEQm3 kup@reinhold ssh-dss AAAAB3NzaC1kc3MAAACBAJvTdAeRisrjbyJJxM9I7nYHgCz32XY/l4zUbVbLreR2DI9xf/ihOw2f+2WkQpkUmi1KKnaRDW2Bt/rMVZMC4rPxwvRBQi5r6aYmVZMSVE3o3td23wEIUpXVtCUCnIrPvGfaHDO6P54WizM9vMwJQQ/ZtAW/JUX22vqLlGefVpbbAAAAFQDFmUMNnr9BFMagZph2k/NuazPArQAAAIBCWDLurI2p08Ju7oqPxlpiW6JXgEx0EvOlVA8mCbWB15XP+rXl9oZKKIYoqXXbhkp0FtdolHUvWszSX7WO67a1debKVDiwiNs+Rp0Uu6XrLYpqmpoXHKrbVtBJebNMoa5lMBPl/NLGhvfQZ65M+Fwdn2APJAaq9FEjFj/A5X7UOAAAAIB7aXQVRqyVVv6+JcIpg5bJgQKzSTqkyQA0+bxMiZtcTgU0jZjr2hsLaPKv0ZXnUqYvUsM2ST/aWrppwu3tC/ns8yixq/z3CaFKy1iXHwFTSQx3dug0j2LJ5qKZ9J02f6kSapU5nnDbk5bL0A2t5+Rv/9UhPCAENP7hJzcfk8qQqw== bau@BauLap ssh-dss AAAAB3NzaC1kc3MAAACBALNd5hogWwu1yq0yjM+wwB0/uQeDpKy2vUdHsm7niDpnxLJNtdBlDGa2oZ9knyYXXbW7vQTyHpP4DBaNoYUMrqYGytpHEHsw8Rw0eZ52/YfFlarFqO2PA1NWZv/dvWJ1tKxDQI6Osm4bUaLU8YhiCWi/SSVjm57+szYTxaogND8pAAAAFQCUDEw+ziMw7/VTz51kIpuQovylFQAAAIBuj/6Xheccb3VY4ZccWuzkxOwxYF7RWtdTlSbJ6EQDBf4IxoFU5uMkT3JiujA8ETBIC4I1ZFqSwXDvFM7mcEuVnswBfCgEUaGgVMQCVxFJbDQ5a096ALJY9GMNw47nnHpOhxMjIf51X6y3OlB1gJMGma3l/BCVlsAEyrDcgSfUxwAAAIEAoBRNZqk/hTM740yYjwNdYOa/8HxdpoGYNVi9mLCX4lEnihvvfBa7yNagrvRHEG/DIzNh9l+1LamuVK/DtHZVDyvLxaLPhKIZo0e/GGrYjQcykMn7ZHL1oqWfIxNN3VDw7lpuisi6ks4m2FK+u3+y24kvOqyop2jOYl+bYKMu9ks= root@LTSP ssh-dss AAAAB3NzaC1kc3MAAACBAP2kNGWNDXoIN/eCfqR2Ja7ky/ETVhi/TDUlRXDgLwO7SHHH8WT/K5KeYDxl2IV62WfRKHNbDUg30xKJBbQKg2w8HvFPFTvONdeU7wXazFwGpuLV4LeZbg2d6bcz8nBBqXD+/DQETIcKVvv0cJYqm8SU25NFsfZ7YICHQt8llEKDAAAAFQDeGjaLoldUGOvwG+IlnRUIgDSjYwAAAIAEb87oiJhOBTOZ4NJAgFDprx14SRs9ckL+M0acmyD+8xhMCBY0F8VG2wv7MHjNyTnRj02naJ05D8ygwRATccgudXjGL4OWe+gafLTC4gPfm5YRKpD4+zSindmzPifBHpHOH6z++vx55MRjWHwAoqTIlvNHNeIo97RRFVHu+FoKPwAAAIAu5CtkEAEoFnLOo3up45E72IqA/TQhRIpD7dHIJXPktoUdlasgGZTwCVI+lkrB5NJKjpQoAJpyKQzFMveRrnEgDAKMo8D+XrI7WQTDm4OeCCz3t6HMas8jBvv0JHIWMFZyEJve4n7xYGr3CuGF+LJlG0ARuCuablJiKIwnPsJGgw== linadmin@LTSP ssh-dss AAAAB3NzaC1kc3MAAACBALctoN5jVWYvA4RxAHLgQI8btl5Fll/JOSFmpo52Ey1fF0QxT3DKO29JHPyFjcfFqBwwQ59ycRWWV9c41Hi+96y7G0OD/6xizOp9D5UK1ZoMbLcQcOtW2mlIE1rSDt/tbRwHPZa2ENDkIOZvVhQwk5pmPqRMyyL70/HWBpEMKypBAAAAFQCTsjBQnmndH+Ujw/rJz/N+fQoigQAAAIEAr4AHPmBP5MYPbUU7HPjGaChfRfJ09Ao6SyUhXK/ebIc/DZsRS8U9vWW8LcoVBnR6dVgb0jZu2E3S0ma7yqlsa7jmNmAo+rRoty2GLcQl6q1dVCYV+DI8q7M8eFHiNmcNPYX/QkKddeT9osv3fwZSH3cjrpEKHeAhqwHx4+pTTgwAAACAS4ZlSRxCuNwZsv5JLJIkyt7ROBuYjQjxv+b/cHgh1ErCbh4Y+QVjap3TMlSn/wNCUjcTZ2fP1srAk2w53y63w4009cXMwA2iktz7z0LqhdQs3ArF8+ZrXDbPhh7rhtCRKvd5TF4C0ZGeUdiPp05PBlrstE2b8Raw8QVwfFlofFQ= jas@paedml ssh-dss AAAAB3NzaC1kc3MAAACBAIVxw23kJxoqK0Jb/vjxT2gQZKwCSmNa2s1OCfbjB3+3C7ytKHX09aovIof0xrJx3L4JUk1sYhfSZs/eMh46gkOeGcBK22ocN5CNpqMHti+v1Gj5kVLYJq0jDIp6BHbqlctlKlODXKW8fQ37FWAetn1TEHIUNK0xiOg0lkyPzuh1AAAAFQDxHStaYHbBopAMYEN3LsccDXBnRwAAAIBOBLM3Aw5otlgy+BgHgGtXAzd12hH6MEQSbEWMP7n9G0aaYsALiN5IR/3Lqn7x8dcxD1iPyy/wigmcTY0iZGMMmIf0x929QgBpNwF00kuDTI8LjymVAPCwpHgJryB3ZYdcVX1vk9827rMXXGuXjn+d+ih8aLRcQ/repq3I8658RgAAAIAa5LkSnBdm2nMc/fCw8yxu/gjt8xgY9JUAMjEfb1IUq5TV0sMyikpFG77Khmk7WfiWS1aX4464sr7jXFA9RqRyfSE+oHQeUoObRalVAavqquqHscUu4Qg7dhN/dmSV+aniVD0/RE0etple6i6CnK2r0tV1WS+hNIA/n3nGB726nQ== root@db ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDgrXpLQR5MtdHsLmhHWO2fQlGnVaxEdWFatjF52SXYEXKZ1MdLSBlTaD2UMBGpeZxqfFypxtcq7/bvygli7Knht9BInJTy0ADFwKBTE0Q3oFIVqDh2jkmfnmEoBXfkaMvzCFDv2PWGF6xWAChX2JLn8oP4uyG5sfhebykChuheYHU2rPtXuZntMdWdttExFIw6UhInSrsuPY1YGP0zr7Cd+JB0baZxk3qIPiNj/ALGl0HtAFUgOX4FmcJjUuZOsCUQzMxHQqeyWpSbD0fMXRS16Z2raTVGzhYXnt5CqjPpKkg8add90cWYM103Fyjd8CDtzkTl1k8dsP590xJiEQm3 kup@reinhold EOF
Ab jetzt können sich die Administratoren kup, bau, jas, root@paedml, root@LTSP und root@db mit ihren SSH-Schlüsseln einloggen.
Praktischerweise die selben Schlüssel auch für den Login als linadmin zulassen:
# rsync -rv ~root/.ssh ~linadmin/ # chown -R linadmin:linadmin ~linadmin/.ssh
An dieser Stelle bietet es sich an, das erste Linuxmuster-Image von unserem neuen Client hochzuladen :-).
Software
Als nächstes instalieren wir die Software, die auf unserem Clients verfügbar sein soll.
Partner-Repository aktivieren
In der sources.list die deb-Zeile für das Partner-Repository einkommentieren:
# emacs /etc/apt/sources.list
zusätzliche Paketquellen
# ISSUE=xenial # oder das inzwischen aktuelle release # cat > /etc/apt/sources.list.d/atareao-telegram.list <<EOF deb http://ppa.launchpad.net/atareao/telegram/ubuntu $ISSUE main deb-src http://ppa.launchpad.net/atareao/telegram/ubuntu $ISSUE main EOF # cat > /etc/apt/sources.list.d/geogebra.list <<EOF ## THIS FILE IS AUTOMATICALLY CONFIGURED ### # You may comment out this entry, but any other modifications may be lost. deb http://www.geogebra.net/linux/ stable main EOF # cat > /etc/apt/sources.list.d/linuxmuster-net.list <<EOF deb http://pkg.linuxmuster.net/ $ISSUE/ EOF
Die Repositories sind signiert. Damit apt die Repositories auch verwendet, benötigt es die öffentlichen GPG-Schlüssel:
# apt-key --keyring /etc/apt/trusted.gpg.d/atareao-telegram.gpg add - <<EOF -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1 mI0ETQfDgQEEAPSiDI/aHY9bPa1K4pvcMR8g3eJr6/9cdEDihLj0JbMCn8a8rXMi 4iTwvFJJQFUalIzRSc67AUEp9rNQyAHsZFEmxD9Ah+j8eI/ULmMRN/YzHUT3V2vt W29pxrsz4ZFNQKYENoDoNrY0sCmkNnWk9gXwPKazYVCkTv9fpQdhhIbbABEBAAG0 GUxhdW5jaHBhZCBQUEEgZm9yIGF0YXJlYW+IuAQTAQIAIgUCTQfDgQIbAwYLCQgH AwIGFQgCCQoLBBYCAwECHgECF4AACgkQapZT+Tb9VSlxUQP/aEolfHZZmJMt5SEl SItaUAVHR5egWcZeDPdVKcaUsTTGDx7Q2oXNjT88ZAF+pWXqLzzBHE0Hn0BiqcuH YQ5hwgzW2KpVj6MjyUKHXHBAA5e7E0O7q8JWJXKMystILbhQCpM33JkwF4VtprV4 yLzn23RakMw9PONVA0du5ABfIZY= =8gbf -----END PGP PUBLIC KEY BLOCK----- EOF # apt-key --keyring /etc/apt/trusted.gpg.d/geogebra.gpg add - <<EOF -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1 mQENBFFMIIkBCAC4YLnoBGrp8bIrebBp6dpRCyet7V8DxNurJynQA4R9MyXWTND0 Wi7UeJFJQTFFBdlNgCfTts4fAU9s3iA7m9WCUIsVtx288+QC6oLwb4/p7ZX53Tl1 0HhRBSsOC5OmU7/Ds5YNyvOV29ScjrxDwSHyvIjGpnL/2mc6JZNUSRGxDPbikhPt CU5QnrlC1+NnJbH2bQz93jXb3E3hZvXreeJwG/UXO6pcGayUfqwzOcOZWikcTi1g /uUurlABHyS6SwLnSE8mhs8nGB8fCTmRkjNP59aQdSwOo2ppBSRjVS/RiIJCI2B/ avuolIfqq46IgcvKAuBAcex/icBCNgTEz61JABEBAAG0NkludGVybmF0aW9uYWwg R2VvR2VicmEgSW5zdGl0dXRlIDxvZmZpY2VAZ2VvZ2VicmEub3JnPokBOAQTAQIA IgUCUUwgiQIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQwHKjKYOnNs93 vggAkOsNAqGsKtVgAgmhocK7ealctiwFQUIFVGRl8enKU64Qijh9aPX32EJKhOXO 6WMNmFPeqRdp7ApBAt+/hiftZDm2kkhobM178gN0iZD5CN/sgX5fnLG7Afb9TS/+ USV+7vxt2eBNU/q+Fr4+uAkL5999KaNArYrXI2YlBWlUnQt7gVedRRM/2PPwJEqu UpXr7TJODK7xUgSgUHb0QYxcm9lVTHr3kTBukzqx7NxPzJtYULJOpIxPh6+g7dUK CR1mfFdILvG3KnPHVE2bAznxhYLHtK0W0x/TjtsMz2+lySFSn+zDV612t5lhcgLm H5mYhQP1C4V9xFrJVK8JroVwJA== =v29t -----END PGP PUBLIC KEY BLOCK----- EOF # apt-key --keyring /etc/apt/trusted.gpg.d/linuxmuster-net.gpg add - <<EOF -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1 mQENBE+ddzwBCADYcRLrZnVd3c8+/2BsRprUoXY500Hkqw0DlkEEBft1kmsANWVc pMPC83VWvWttDerjEYLM1K+WNyzAMRGEq7UOQd1H1yjlzp22lr4S/xWmHaSisq9l qf/LUil0VXd6jM02r+SEGRQVuuDlQ/pgSgQuQI/qvjaSZK245TBTpzXM4FAFp416 rEVP0IHZL/5uN3/hptrHRzhxRFLHTA7C8xGQGxYW5DZ3bov2h3xzBBqHKa7rjjZa W3WXuUCU2t4tY+ghi58YEHmP3An3ofV40tuw+oVOVQC5Gmxj7GALBscDfYX6rBXa AXf7zZtStsXuwDKvbL0WU95IoyR5RJJcOuZDABEBAAG0VmxpbnV4bXVzdGVyLm5l dCBkZXZlbG9wZXJzIChsaW51eG11c3Rlci5uZXQgcmVsZWFzZSBrZXkpIDxsaW51 eG11c3RlckBsaW51eG11c3Rlci5uZXQ+iQE4BBMBAgAiBQJPnXc8AhsDBgsJCAcD AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCDkDvGaEszbukmB/4yu4ARdRbdy+CGU1tc fz941Iu6rJ83itRSY+entyJDbn4MUfWqz7EFc/88w+JFrNI17X35of5fXw9B2WVC 2d/SI4ho/0Azkkhhu0EEbFJTpg34h9b+rn3/Ok6GadPRuP8nArGvfBiiz/EGdNdE 781oO2DqzM/Bnwk/4R1GIMe5vw11yItsrZkNw6jIGrHXWp+3+OltADnrAb2Lf1E5 rXQmaALAuU4dmFHIV616w86E8cr0ifbSqqS6O4csXAU8tfF5E+x46d2Fu+ARCHBm vjwLsouxd2z+o3h4WkNXOA2BqOVJkY4rfGsw3NuJ+N7BhgAStNlvMfttl3M8ssO+ Z9LeuQENBE+ddzwBCACU0kbNnUX7aGkrC631BxHJlb+rxLawj1j1V+V4eBdXrbGp ZNQRwA96iCJbJxKFtMuLO0yVMhGwjfQxwLHK2NUgaHOR4IRAW77cusuB20V7Wlgj 0tEDmUpxE2iLg0jNxxS7KVNmP+KbGELwWu8qVP4ZYwKGAVDWdLQUsyAwzt+516Oo DA2iANvBdiSxJCatUQW9G91eelMgrRIAHgsPqWYmnQNovB9m31kH4nrPmsS7Opq6 xcjVQvPUH4DRwlOxq6kBPHvag7edl9Un6omyjLdVkYnrr1OUOKbXw7UHAKoN/1fV zCMTYavL3o8P5aPs4eLXBbMRIBHDaXcmXdbwjZF1ABEBAAGJAR8EGAECAAkFAk+d dzwCGwwACgkQg5A7xmhLM25RKgf/f4Pzvhq9VEdwclyx+XSXvLfdPQyX7VBRnOIm a7EJ6TC2ErVh/sB7dub4OVqDbb4rXOHSZQCJdxIYbtDY30d7XnigF74/KypqpdxY pQVqWjlHwQ+XhONYnzvDHnVfPfu3mzrnfa0ihv5EN+JAmftvPW5Ef4D4fPWZ2QuG mgMpdiQOszDemPVzvOmQzUkgZjqTf7KHGXCrxt+ijgTI9pwIiT1tya/2d7NlgnDK ICZw9nDDAnM4aE09j53Th2XTiEcUBj4k/DzbN12T15cSzIkHa0WE0OZgfad8cQiD HT1Oq8dRaLD4//Pjkg/hLDva4fc1D47owtzmyXb72Lu2r14fjA== =nhAI -----END PGP PUBLIC KEY BLOCK----- EOF
Jetzt sollte ein apt update durchlaufen:
# apt update
typische Software
Folgende Pakete sind in unserer Installation:
# apt install acroread ardesia auctex audacity cifs-utils clusterssh dconf-editor debfoster devilspie2 edubuntu-desktop emacs enigmail epoptes-client finger firefox-locale-de firefox-locale-en fonts-crosextra-caladea fonts-crosextra-carlito fonts-opendyslexic gcompris-sound-de gconf-editor gedit-latex-plugin geogebra5 gimp-help-de gimp-help-en gnome-activity-journal gnome-clocks gnome-system-tools hamster-applet hedgewars hyphen-de hyphen-en-us ipython ipython3 kde-l10n-de kde-l10n-engb kdenlive krita language-pack-en language-pack-gnome-de language-pack-gnome-en ldap-auth-client ldap-utils libpam-mount libreoffice-help-de libreoffice-help-en-gb libreoffice-help-en-us libreoffice-l10n-en-za lm-sensors mesa-utils mypaint mythes-de mythes-de-ch mythes-en-au mythes-en-us nautilus-dropbox network-manager-openvpn nscd ntp openoffice.org-hyphenation pingus pitivi poppler-data postfix pylang python-matplotlib python-usb python-whiteboard simple-image-reducer smartmontools ssh stellarium subversion synaptic telegram texlive-lang-french texlive-lang-german texlive-lang-spanish texlive-science texmaker thunderbird thunderbird-locale-de thunderbird-locale-en-gb thunderbird-locale-en-us ubuntu-minimal ubuntu-restricted-extras ubuntu-standard unison unity-tweak-tool virtualbox vstdrivers wine xaralx xournal xpad
ab hier unbearbeitet
Hinweis: in Xenial offenbar nicht mehr verfügbar: freemind, language-support-en, language-support-writing-de, xfonts-mathml
Fehlen noch: vstdrivers, xaralax
ev. zusätzliche Treiber aktivieren
Als linadmin einloggen und mit dem "Software&Repositories"-Tool möglicherweise verfügbare zusäztliche Treiber aktivieren.
Dropbox-Daemon manuell installieren
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-distper 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.
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 --ceanupaufrufen. - Abhängigkeiten von Hand installieren und dann googleearth-Paket installieren:
# apt install lsb-core libfreeimage3 # dpkg -i <angegebener-Paketname>
Kepler-Release eintragen
(solle weiter oben stehen)
zusätzliche Microsoft-Fonts
(siehe ticket)
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.
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] greeter-hide-users=false greeter-show-manual-login=true greeter-allow-guest=false
Hintergrundbild
Das Default-Hintergrundbild, das mit Edubuntu kommt ändern:
# cd /usr/share/backgrounds
# rm edubuntu_default.{png,jpg}
# ln -s <hintergrundbild.jpg> edubuntu_default.png
# ln -s <hintergrundbild.jpg> edubuntu_default.jpg
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):
paedml# for h in $(teacherhomes) $(studenthomes) ; do rm -r $h/.cache/wallpaper/ ; done
Damit sollten alle Nutzer, die kein spezielles Bild ausgewählt hatten, das Salamanderbild erhalten.
Vorgaben für Gnome-Settings (dconf) einrichten
- 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).
- 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')] # set (and lock) gnome panel contents [org/gnome/gnome-panel/layout] #object-id-list=['menu-bar','indicators','logout-button','workspace-switcher'] object-id-list=['menu-bar','indicators','workspace-switcher','launcher'] toplevel-id-list=['top-panel'] [org/gnome/gnome-panel/layout/objects/indicators] object-iid='IndicatorAppletCompleteFactory::IndicatorAppletComplete' pack-index=0 pack-type='end' toplevel-id='top-panel' # [org/gnome/gnome-panel/layout/objects/logout-button] # object-iid='PanelInternalFactory::ActionButton:logout' # pack-index=0 # pack-type='end' # toplevel-id='top-panel' [org/gnome/gnome-panel/layout/objects/menu-bar] object-iid='PanelInternalFactory::MenuBar' pack-index=0 toplevel-id='top-panel' [org/gnome/gnome-panel/layout/objects/workspace-switcher] object-iid='WnckletFactory::WorkspaceSwitcherApplet' pack-index=1 pack-type='start' toplevel-id='top-panel' [org/gnome/gnome-panel/layout/objects/launcher] object-iid='PanelInternalFactory::Launcher' pack-index=0 pack-type='end' toplevel-id='top-panel' [org/gnome/gnome-panel/layout/objects/launcher/instance-config] location='/usr/share/applications/logout-workaround.desktop' [org/gnome/gnome-panel/layout/toplevels/top-panel] expand=true orientation='top' size=24 expand=true auto-hide=false enable-buttons=false [org/gnome/gnome-panel/lockdown] locked-down=true [org/gnome/desktop/screensaver] lock-enabled=false [org/gnome/clocks/state/window] panel-id='timer' 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 /org/gnome/gnome-panel/layout/object-id-list /org/gnome/gnome-panel/layout/toplevel-id-list /org/gnome/gnome-panel/layout/objects/indicators/object-iid /org/gnome/gnome-panel/layout/objects/indicators/pack-index /org/gnome/gnome-panel/layout/objects/indicators/pack-type /org/gnome/gnome-panel/layout/objects/indicators/toplevel-id #/org/gnome/gnome-panel/layout/objects/logout-button/object-iid #/org/gnome/gnome-panel/layout/objects/logout-button/pack-index #/org/gnome/gnome-panel/layout/objects/logout-button/pack-type #/org/gnome/gnome-panel/layout/objects/logout-button/toplevel-id /org/gnome/gnome-panel/layout/objects/menu-bar/object-iid /org/gnome/gnome-panel/layout/objects/menu-bar/pack-index /org/gnome/gnome-panel/layout/objects/menu-bar/toplevel-id /org/gnome/gnome-panel/layout/objects/workspace-switcher/object-iid /org/gnome/gnome-panel/layout/objects/workspace-switcher/pack-index /org/gnome/gnome-panel/layout/objects/workspace-switcher/pack-type /org/gnome/gnome-panel/layout/objects/workspace-switcher/toplevel-id /org/gnome/gnome-panel/layout/objects/launcher/object-iid /org/gnome/gnome-panel/layout/objects/launcher/pack-index /org/gnome/gnome-panel/layout/objects/launcher/pack-type /org/gnome/gnome-panel/layout/objects/launcher/toplevel-id /org/gnome/gnome-panel/layout/objects/launcher/instance-config/location /org/gnome/gnome-panel/layout/toplevels/top-panel/expand /org/gnome/gnome-panel/layout/toplevels/top-panel/orientation /org/gnome/gnome-panel/layout/toplevels/top-panel/size /org/gnome/gnome-panel/layout/toplevels/top-panel/auto-hide /org/gnome/gnome-panel/layout/toplevels/top-panel/expand /org/gnome/gnome-panel/layout/toplevels/top-panel/enable-buttons /org/gnome/gnome-panel/lockdown/locked-down /org/gnome/desktop/screensaver/lock-enabled 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.
Timeserver
- ntpd installieren (zuverlässiger als das mitgelieferte
ntpdate, sieheman ntpdate)# apt-get install ntp
- in
/etc/ntp.confalleserver-Zeilen auskommentieren, dann einfügen:
- Im Schülernetz
-
server ntp.kg-fds.de restrict 10.32.0.0 mask 255.240.0.0
- Im Lehrernetz
-
server ntp.kg-fds.de restrict 10.16.112.0 mask 255.255.254.0
(Der Name
ntp.kg-fds.dewird im Schüler- wie Lehrernetz zu einer geeigneten Adresse aufgelöst.)
- dann
# service ntp restart
Skripte in /usr/local/sbin
# rmdir /usr/local/sbin/ # svn checkout svn+ssh://root@paedml/srv/svn/keplertools/scripts/trunk/ /usr/local/sbin/
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:
- Im Schülernetz
-
# 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
- Im Lehrernetz
-
# package flashplugin-installer needs to know the proxy: # note: put this into /etc/anacrontab, too, if anacron is installed http_proxy=http://129.143.4.2:8080
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}.)
Postfix
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:
- Paket
postfixinstallieren (falls noch nicht geschehen)# apt-get install postfix
- Nicht alle nötigen Optionen werden bei der Installation abgefragt, daher nach der Installation noch einmal ein
dpkg-reconfigure postfixmachen. Postfix muss so konfiguriert werden, dass er alle Mail an den paedml weiterschickt:# dpkg-reconfigure postfix
- "Satellitensystem" wählen
- System-Emailendung:
kg-fds.de - Relayhost:
paedml.kg-fds.de - Empfänger für Mails an
rootundpostmaster:root@kg-fds.de - alle anderen Einstellungen können unverändert übernommen werden.
- Testmails verschicken, an:
<nutzer><nutzer>@kg-fds.deroot
- 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)
SMART
- Hinweis
- Bei virtualisierten Servern ist es wohl sinnvoller, SMART auf dem Virtualisierungshost zu konfigurieren, nicht in der VM.
- Auf der neuen Maschine bzw. auf dem Virtualisierungshost
-
- Vorgehen wie unter AdminSmart beschrieben
Drucker einrichten
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").
In /etc/cups/cups-browsed.conf einfügen:
- Im Schülernetz
-
BrowseAllow 10.32.1.1
- Im Lehrernetz
-
BrowseAllow 10.16.112.4
- 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:
/etc/cups/classes.conferzeugen mit Inhalt:<DefaultClass DruckerLZ> 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 </Class>
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 <ltspserver>:/usr/share/virtualbox-vdi /usr/share/ # rsync -a <ltspserver>:/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
Nur für den dedizierten Epoptes-Server
- Hinweis
- Diese Schritte sind nur nötig, wenn der neue Server der dedizierte Epoptes-Server sein soll (derzeit ltsp6).
Die Schritte durchführen, die unter AdminEpoptes#EinrichtungdesdediziertenEpoptes-Serversderzeitltsp6 beschrieben sind.
Generell
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.
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.