Durch das Laden von Dauertests aus dem Netzwerk ergeben sich einige Vorteile für Sie als Nutzer. Zum Einen wird es leichter einen zentralen Bestand von Dauertests zu pflegen und Änderungen an diesen werden ohne Modifikation eines jeden USB-Sticks sofort nutzbar. Außerdem lässt sich so zentral die Konfigurationsdatei testlx.ini pflegen und auch Dateien wie Logos. Sie können außerdem verschiedene Windows-Berechtigungen anwenden um den Ordner vor Schreibzugriffen zu schützen.
Vorbereitung unter Windows
Bitte erstellen Sie als Erstes einen Ordner unter Windows und geben Sie diesen als Netzlaufwerk frei. Informationen hierzu finden Sie in diesem KB-Artikel. Dieser freigegebene Ordner wird später alle Dateien (Dauertests, Logos und Einstellungen) enthalten die zentral mit allen konfigurierten Sticks bei jedem Start synchronisiert werden sollen.
Vorbereitung der USB-Sticks
Damit die Boot-Sticks von toolstar®testLX und toolstar®shredderLX Ihre Konfiguration aus dem Netzwerk laden muss eine spezielle Datei mit dem Namen prestart.sh auf dem USB-Stick im testlx-Verzeichnis abgelegt werden. Diese Datei ist dafür zuständig das Netzlaufwerk zu mounten und die Dateien zu synchronisieren. Nach der Synchronisation startet automatisch das Programm und lädt die zuvor kopierten Dateien. Eine minimale prestart.sh Datei können Sie sich hier herunterladen. Im Allgemeinen wird die Datei prestart.sh immer genau vor dem Start von toolstar® ausgeführt. In dieser Datei können dann beliebige Linux-Befehle ausgeführt werden um die Umgebung in der sich toolstar® befindet zu modifizieren.
Die Befehle für die prestart.sh Datei
Zuerst müssen Sie in der RAM-Disk des Linux einen virtuellen Ordner anlegen, der als Ankerpunkt für das Netzlaufwerk dient. Dazu geben Sie den Befehl mkdir /network in die prestart.sh Datei ein. Sie können den Namen frei wählen. Also zum Beispiel network mit netzwerk oder einstellungen austauschen.
Als Nächstes muss das Netzlaufwerk an den zuvor erstellten Ordner “gebunden” werden. Dazu verwenden Sie den Befehl: mount //Server-IP/Freigabe /LokalerOrdner -o user=Benutzername,pass=Passwort. Hierbei steht die Server-IP für die IP-Adresse des Windows-Rechners mit der Freigabe und Freigabe steht für den Namen des Ordners unter Windows. Mit user und pass können Sie noch Zugangsdaten angeben, falls dies benötigt wird. Das kommt ganz auf die Einstellungen Ihrer Freigabe oder Windows-Domäne an. Innerhalb einer Domäne können Sie oft Ihre persönlichen Informationen verwenden (also die Angaben, die Sie auch verwenden um sich unter Windows anzumelden). Sollten Sie passwortlose Freigaben verwenden, können Sie alles ab -o entfernen. Das würde dann so aussehen: mount //Server-IP/Freigabe /LokalerOrdner.
Als Letztes führen wir noch den Kopierbefehl aus, um die Daten in das testlx-Verzeichnis auf dem USB-Stick zu kopieren. Dazu können Sie den Befehl cp verwenden. In unserem Beispiel wäre der Befehl: cp -a /network/* /testlx/. Durch diesen Befehl werden alle Ordner, Unterordner und Dateien des Ordners /network (also unserer Windows-Freigabe) in das testlx-Verzeichnis auf dem USB-Stick kopiert.
Die vollständige prestart.sh Datei
Ihre prestart.sh Datei sollte danach folgendermaßen aussehen und im testlx-Verzeichnis auf dem USB-Stick liegen (mit anderen Zugangsdaten und wenn als Basis das Muster von toolhouse verwendet wurde):
# This shell script is executed once before the automatic start of
# toolstar*testLX.
# So if you need some custom initializing, you can put it here...
#
# 1. Create a folder to mount the network folder to
mkdir /network
# 2. Mount the Windows PC with IP 192.168.253.19 and Share WindowsFreigabe to the
# folder from step 1.
mount //192.168.253.19/WindowsFreigabe /network -o user=toolhouse,pass=toolhouse
# Copy all files from the network share into the local folder on the usb drive
cp -a /network/* /testlx/
Linux und Windows: Zeilenterminatoren
Linux (Unix) und Windows verwenden unterschiedliche Steuerzeichen um das Ende einer Zeile im Text zu markieren. Im Fall von Windows/DOX wird ein \r\n verwendet. Unter Linux/Unix wird nur ein \n verwendet. Bitte achten Sie beim Bearbeiten und Speichern der prestart.sh Datei unter Windows darauf, dass Sie die Zeilenterminatoren nicht verändern. Ein Programm, das die Übernahme nahtlos unterstützt ist notepad++. In vielen Fällen geht das auch mit anderen Editoren. Achten Sie beim Speichern nur auf die Frage, ob der Editor auf Windows CRLF umstellen soll, oder die aktuelle Einstellung behalten soll. Wenn die Zeilenterminierung auf \r\n umgestellt wird, erkennt Linux die Datei unter Umständen nicht mehr richtig.
Die von toolhouse bereitgestellte Beispieldatei ist bereits richtig eingestellt.
Editor: Notepad++
Unter Notepad++ können Sie sich über das Menü Ansicht->Nicht druckbare Zeichen->Alle Zeichen anzeigen neben den klassisch sichtbaren Zeichen auch die Kontrollzeichen anzeigen lassen. Zusätzlich dazu können Sie rechts unten von Windows (CR+LF) auf Unix (LF) umschalten, wenn das noch nicht der Fall sein sollte.
Fehlerbehebung: Langsamer Verbindungsaufbau
Unter Umständen kann das Aufbauen einer Verbindung zum angegebenen Netzlaufwerk länger dauern. Das kann zum einen an der Konfiguration des Windows-Systems oder durch eine verzögerte Initialisierung des Netzwerks unter Linux liegen. Der Fehler zeigt sich dadurch, dass beim Start von toolstar®testLX oder toolstar®shredderLX die Dauertests noch nicht im Menü auftauchen. Wenn Sie das Programm dann beenden und in das /network-Verzeichnis wechseln, sind die Dateien aber zu sehen. Um den Aufbau der Verbindung zu verzögern kann der sleep-Befehl der bash-Umgebung von Linux verwendet werden. Damit geben Sie dem Betriebssystem einige Sekunden mehr Zeit die Netzwerkumgebung des lokalen Geräts zu initialisieren. Die prestart.sh sieht dann folgendermaßen aus:
# This shell script is executed once before the automatic start of
# toolstar*testLX.
# So if you need some custom initializing, you can put it here...
#
# 1. Create a folder to mount the network folder to
mkdir /network
# 2. Sleep 5 seconds right before mounting the network drive
sleep 5
# 3. Mount the Windows PC with IP 192.168.253.19 and Share WindowsFreigabe to the
# folder from step 1.
mount //192.168.253.19/WindowsFreigabe /network -o user=toolhouse,pass=toolhouse
# Copy all files from the network share into the local folder on the usb drive
cp -a /network/* /testlx/