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

Version 31 (modified by Rüdiger Kupper, 10 years ago) ( diff )

--

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 <<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  ardesia auctex audacity 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-gnome-de language-pack-gnome-en ldap-utils 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 ntp openoffice.org-hyphenation pingus pitivi 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 wine 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: 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.

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-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.

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 --ceanup aufrufen.
  • 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, siehe man ntpdate)
    # apt-get install ntp
    
  • in /etc/ntp.conf alle server-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.de wird 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 postfix installieren (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 postfix machen. 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 root und postmaster: root@kg-fds.de
    • alle anderen Einstellungen können unverändert übernommen werden.
  • Testmails verschicken, an:
    • <nutzer>
    • <nutzer>@kg-fds.de
    • root
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

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.conf erzeugen 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.

Creative-Commons-Lizenz

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

Note: See TracWiki for help on using the wiki.