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.
- Timestamp:
-
Oct 22, 2018, 3:54:04 PM (8 years ago)
- Author:
-
bau
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
|
v11
|
v12
|
|
| 30 | 30 | == Anpassungen == |
| 31 | 31 | === /etc/linuxmuster/import_workstations.d === |
| 32 | | Wir setzen mehrere LTSP-Server mit dem DHCP/DNS-Server dnsmasq ein. Nach dem Workstation-Import werden aus den Config-Files von linuxmuster.net sowie unseren Config-Files für die LTSP-Server unter /etc/linuxmuster/ltsp_config/ die Konfigurationen für die verschiedenen dnsmasq-Server erstellt, auf die Server hochgeladen und die dnsmasq-Prozesse dort neu gestartet. Der Link wurde im script.d-Verzeichnis der LML abgelegt. |
| | 32 | Wir setzen mehrere LTSP-Server mit dem DHCP/DNS-Server dnsmasq ein. Nach dem Workstation-Import werden aus den Config-Files von linuxmuster.net die Konfigurationen für die verschiedenen dnsmasq-Server erstellt, auf die Server hochgeladen und die dnsmasq-Prozesse dort neu gestartet. |
| 33 | 33 | |
| 34 | 34 | Dateien: |
| 35 | | * /etc/linuxmuster/ltsp_config/paedml.template[[BR]] |
| 36 | | Vorlage für die paedml-dnsmasq-Konfiguration, Script passt DNS, WPAD etc an |
| 37 | | * /etc/linuxmuster/ltsp_config/ltsp.template[[BR]] |
| 38 | | Vorlage für die LTSP-dnsmasq-Konfiguration, Script passt die IP-Bereiche, DNS, WPAD etc an |
| 39 | | * /etc/linuxmuster/ltsp_config/ltspl.template[[BR]] |
| 40 | | Vorlage für die ltspl-dnsmasq-Konfiguration |
| 41 | | * /etc/linuxmuster/ltsp_config/paedml[[BR]] |
| 42 | | Hier lagert die fertig angepasste Konfiguration des paedml-Servers |
| 43 | | * /etc/linuxmuster/ltsp_config/ltspX/ und /etc/linuxmuster/ltsp_config/ltsplX/[[BR]] |
| 44 | | Hier lagert die fertig angepasste Konfiguration der LTSP-Server |
| 45 | | * /etc/linuxmuster/ltsp_config/clientsS/clients[[BR]] |
| 46 | | In dieser Datei stehen die getaggten Clients (HWAdresse, IP, Name) des Schülernetzes.[[BR]] |
| 47 | | Die Tags legen fest, welches Bootmenü ausgeliefert wird, was also letztendlich gebootet wird. |
| 48 | | * /etc/linuxmuster/ltsp_config/dhcp/dhcp.conf[[BR]] |
| 49 | | Konfigurationsdatei für den DHCP-Server im Lehrernetz. |
| 50 | | * /etc/linuxmuster/ltsp_config/ltspclients[[BR]] |
| 51 | | Hier werden die LTSP-Clients aufgeführt, da diese keinen Workstation-Account auf der paedml benötigen und somit nicht in die workstations-Datei gehören |
| | 35 | Der Vorgang der Erstellung der Config-Dateien für DNSMASQ muss überarbeitet werden! |
| | 36 | |
| 52 | 37 | |
| 53 | 38 | Wir benutzen den DNSMASQ und nicht wie die LML isc-dhcp-Servers und bind9. Die !Start/Stop-Scripte der beiden haben wir unter /etc/init.d unschädlich gemacht, so dass keine Anpassungen mehr am Script selbst erfolgen müssen. |
| 54 | 39 | |
| 55 | 40 | |
| 56 | | === /usr/share/linuxmuster-linbo/update-linbofs.sh === |
| 57 | | Nach einem Featurerequest unter http://www.linuxmuster.net/flyspray/task/427 kann nun eine alternative Server-IP in den Start-conf-Dateien angegeben werden - eine Anpassung im Script ist nicht mehr nötig. |
| 58 | 41 | |
| 59 | 42 | === /var/linbo/pxelinux.cfg/ === |
| 60 | | Hier lagern die per TFTP ausgelieferten PXE-Boot-Configs für jede Gruppe. Da wir derzeit per DHCP keinen Dateinamen mit ausliefern wird die IP (in HEX) oder die default genommen. Das passt soweit, da wir keine Besonderheiten an der Hardware haben. |
| | 43 | LINBO bootet seit Version 2.3 über PXE/Grub 2 - dieser Abschnitt ist obsolet. |
| 61 | 44 | |
| 62 | | * /var/linbo/pxelinux.cfg/default[[BR]] |
| 63 | | Default für das Schülernetz, hier steht der APPEND server=10.32.1.1 drin, ansonsten würde LINBO versuchen von dem Server zu booten, von dem es seine IP erhalten hat, das muss schiefgehen :-) |
| 64 | | * Die Clients erhalten ab linuxmuster.net 6.1 hier einen Eintrag in HEX (symlink auf die Datei mit dem Gruppennamen - hier könnte ein alternatives Verhalten erzeugt werden) |
| 65 | | * Clients können hier subnetzweise oder IPweise mit einer eigenen Datei versorgt werden, die Datei muss einfach so heißen wie die IP in HEX |
| 66 | 45 | |
| 67 | 46 | == DHCP und DNS == |
| … |
… |
|
| 69 | 48 | |
| 70 | 49 | Die Daten für DHCP/DNS werden von den Scripten /usr/local/sbin/make_ltsp_config und /usr/local/sbin/make_ltsp_config.php aus der /etc/linuxmuster/workstations entnommen, auf die DHCP/DNS-Server geladen und der dnsmasq neu gestartet. Die Scripte taggen die einzelnen Zeilen mit den MAC-Adressen/IP-Zuordnungen, so dass der DHCP individuelle PXE-Bootmenüs rausgeben kann. Der dhcp.kg-fds.de im Lehrernetz tagged auch die dhcp-leases, je nachdem, in welchem Subnetz der Lease ausgegeben wird, so dass individuelle Einstellungen (Defaukltgateway, DNS-Server, Routen, ...) ausgegeben werden können. |
| 71 | | |
| 72 | | |
| 73 | | === /var/linbo/menu.lst.Gruppe === |
| 74 | | Für jede Gruppe wurde eine solche Datei angelegt, 3 Sekunden hat man dadurch bei lokalem Boot Zeit, Linbo zu umgehen und stattdessen Edubuntu direkt zu booten. Bei jedem rsync (z.B. Cache aktualisieren) wird die Datei auch auf den Client geholt. |
| 75 | 50 | |
| 76 | 51 | |
| … |
… |
|
| 109 | 84 | * !CronJob angelegt wird, der fünf Stunden später wieder auf 0 zurückändert |
| 110 | 85 | * Statusmeldungen von den Clients an den Server senden (/etc/issue.kepler) |
| | 86 | |
| | 87 | == Anpassungen in linbofs.lz == |
| | 88 | * linbofs.lz ist ein gepacktes cpio |
| | 89 | * packen |
| | 90 | {{{ |
| | 91 | #!/bin/bash |
| | 92 | cd /srv/tftp/linbofs_unpacked |
| | 93 | find . | cpio --quiet -o -H newc | lzma -zcv > /srv/tftp/linbofs.lz |
| | 94 | }}} |
| | 95 | * entpacken |
| | 96 | {{{ |
| | 97 | #!/bin/bash |
| | 98 | # Aufruf im Verzeichnis, in das das gepackte cpio entpackt werden soll |
| | 99 | xzcat ../linbofs.lz | cpio -i -d -H newc --no-absolute-filenames &> /dev/null ; |
| | 100 | }}} |
| | 101 | * in /etc/inittab steht, was dann gestartet werden soll: |
| | 102 | {{{ |
| | 103 | ::sysinit:/init.sh |
| | 104 | ::respawn:/linbo.sh |
| | 105 | }}} |
| | 106 | * Linbo wird zusammengestellt in /init.sh |
| | 107 | * die LINBO-GUI wird in /linbo.sh gestartet |
| | 108 | * die Befehle sind im Script /usr/bin/linbo_cmd gesammelt |
| | 109 | * Befehle an der Commandline werden über /usr/bin/linbo_wrapper abgesetzt |
| | 110 | |
| | 111 | * Manchmal liefert unser DHCP zu langsam eine IP aus (Ursache ist unklar). LINBO benutzt udhcp, der fragt aber nur maximal dreimal an, bricht ab. Wenn LINBO keine IP erhalten hat, kommt es immer mal wieder vor, dass die Cache-Partition formatiert wird - Anpassung in /init.sh: |
| | 112 | {{{ |
| | 113 | network() { |
| | 114 | (...) |
| | 115 | sleep 2s |
| | 116 | ip="" |
| | 117 | while [ -z "$ip" ]; do |
| | 118 | echo " ... GET Data per DHCP (udhcpc)" |
| | 119 | udhcpc -n -i "$dhcpdev" $dhcpretry ; RC="$?" |
| | 120 | ip="`get_ipaddr`" |
| | 121 | done |
| | 122 | |
| | 123 | ipaddr="$ip" |
| | 124 | |
| | 125 | (...) |
| | 126 | }}} |
| | 127 | |
| | 128 | * LINBO hat umgestellt auf grundsätzlichen Reboot. Das wollen wir so nicht - Anpassung in /usr/bin/linbo_cmd: |
| | 129 | {{{ |
| | 130 | start(){ |
| | 131 | (...) |
| | 132 | #auskommentiert mk_boot "$partition" "$KERNEL" "$INITRD" "$APPEND" | tee -a /tmp/linbo.log |
| | 133 | (...) |
| | 134 | #auskommentiert [ "$(fstype "$partition")" = "ntfs" -a -d /cache/linuxmuster-win ] && update_win | tee -a /tmp/linbo.log |
| | 135 | (...) |
| | 136 | #auskommentiert reboot -f |
| | 137 | (...) |
| | 138 | # boote das System |
| | 139 | --- Hier muss der Kernel aus busybox heraus gestartet werden |
| | 140 | |
| | 141 | }}} |