Zunächst erzeugen wir im root-Verzeichnis des Webservers (/web) das Verzeichnis texlivemirror. Anschließend passen wir das Updateskript update_texlive.sh folgendermaßen an:
Wir behalten den Sync mit dem Pretest-Server, um den Start der nächsten Pretestphase auch ohne Ankündigung zu erkennen. Platz auf dem NAS wird dabei nicht verschwendet, da das Verzeicnis nach dem Ende der Pretestphase nur noch ein README enthält! Der rsync-Befehl ist wegen der unterschiedlichen Server auch leicht verschieden aufgebaut und zu guter Letzt packen wir etwas Fleisch an den Knochen für die Status-eMail vom NAS an den User. Damit ist die Serverkonfiguration abgeschlossen.
Auf der Clientseite müssen wir nun noch das Default-Repository auf das neue Webserververzeichnis umstellen:
Momentan starten wieder die Vorbeireitungen für TeXLive 2017, u.a. mit dem Einfrieren von TeXLive 2016, d.h. es gibt bis auf Weiteres keine Updates mehr. Daher scheint es ein günstiger Zeitpunkt zu sein, zu zeigen, wie man im Heimnetz einen eigenen TeXLive-Mirror betreiben kann. Im Speziellen befassen wir uns zunächst mit einer Pretest-Installation von TeXLive 2017 (bleeding edge). Sobald die Pretest-Phase abgeschlossen ist, zeige ich in einem weiteren Beitrag, wie man das Prozedere auf ein “normales” TeXLive 2017 umstellt. Dieser Artikel beschreibt die Vorgehensweise mit aktuellem DSM 6.1 auf dem Server (DS215j) und der Kombination Win10/Cygwin auf dem Client.
Vorbereitungen
Zunächst ist es erforderlich auf dem NAS die “Webstation” (Webserver) zu installieren und zu aktivieren, um später dem TeXLive-Manager eine URL anbieten zu können. Danach muß sichergestellt werden, daß auf dem NAS der ssh-Dienst läuft (Systemsteuerung → Terminal & SNMP).
Aus Sicherheitsgründen verwenden wir Port 2200 anstatt des Standart-Ports 22!
Spiegeln mit rsync
Für das Spiegeln der Inhalte zwischen einem der offiziellen Pretest-Server und dem NAS eignet sich rsync am Besten. Es sorgt für eine identische Kopie in einem Verzeichnis des Webservers (/web). Als Pretest-Server wählen wir den Server der tschechischen TeX-User-Group CSTUG.
Wir erstellen dazu das Shell-Skript update_texlive.sh:
Man achte dabei auf Unix-Zeilenenden (LF) und kopiere das Skript in das Root-Verzeichnis des Webservers (/web). Danach muß man sich per ssh auf dem NAS einloggen und sicherstellen, daß das Skript ausführbar ist!
Um das Skript nun regelmäßig laufen zu lassen, erstellen wir im Aufgabenplaner des NAS einen neuen Task.
Laut Angabe der Website sollte der Buildvorgang jeweils gegen 5 Uhr (CEST) abgeschlossen sein. Wir starten daher unser Update um 6 Uhr.
Auf dem letzten Reiter geben wir noch den Speicherort unseres Skripts an.
Damit haben wir unter https://<NAS-IP>/tlpretest einen eigenen TexLive-Mirror zur Verfügung!
Gute Nacht Freunde (Reinhard Mey, 1972)
Installation
Nachdem das NAS über Nacht seinen Job erledigt hat, kopieren wir die Datei install-tl-windows vom NAS in ein Arbeitsverzeichnis auf den Client und führen sie aus:
Es sind einfach zu viele Pakete und die Zigarette brannte mehr als zwei Stunden! Und ja, ich bin Teil des Problems! 😉
Was lange währt, wird endlich gut!
$ which latex
/cygdrive/c/texlive/2017/bin/win32/latex
$ latex -v
pdfTeX 3.14159265-2.6-1.40.18 (TeX Live 2017/W32TeX)
kpathsea version 6.2.3
Copyright 2017 Han The Thanh (pdfTeX) et al.
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Han The Thanh (pdfTeX) et al.
Compiled with libpng 1.6.29; using libpng 1.6.29
Compiled with zlib 1.2.11; using zlib 1.2.11
Compiled with xpdf version 3.04
Updates
Abschließend definieren wir noch unseren eigenen Mirror als Default-Repository:
Eben habe ich die neue Version v1.0 auf Bitbucket hochgeladen. Dabei handelt es sich um die erste “offizielle” veröffentlichte Version. Der folgende Auszug aus der README beschreibt kurz die Klasse:
Seit dem 1. Januar 2015 gilt in Deutschland grundsätzlich für alle Arbeitnehmer
ein flächendeckender gesetzlicher Mindestlohn in Höhe von
derzeit 8,50€ pro Stunde. Mit Wirkung ab 1. August 2015 wurden die
Dokumentations- und Aufzeichnungspflichten gelockert. Nach §17 MiLoG,
muss Beginn, Ende und Dauer der täglichen Arbeitszeit der in §22 MiLoG
definierten Arbeitnehmern (formlos) aufgezeichnet werden. Zusätzlich
ermöglicht milog.cls aus praktischen Gründen die Aufzeichnug von unbezahlten
Pausen und Bemerkungen (Ruhetag, Urlaub, Krank, ...).
Die Erfassung der Arbeitszeiten erfolgt in einer simplen CSV-Datei, aus
der die Klasse automatisch einen Arbeitszeitnachweis erstellt. Alternativ
können die Daten auch durch einen CSV-Export — mit eventueller Nachbearbeitung
— einer geeigneteten App erhoben werden.
Die neue Version v1.0 sollte in den nächsten Tagen auf CTAN und anschließend auch in den Paketmanagern der Distributionen verfügbar sein.
Eben habe ich die neue Version v1.9 auf Bitbucket hochgeladen. Sie behebt u.a. die Inkompatibilität mit der neuen LuaTeX-Version 0.95, die mittlerweile in TeXLive 2016 enthalten ist. Der folgende Auszug aus der README beschreibt kurz die neue Version:
Changes in v1.9:
* compatibility fix for luatex v0.85+
* Bugfix: restore some option defaults to guarantee correct
download URLs after changing mode in \getmap
Die neue Version v1.9 sollte in den nächsten Tagen auf CTAN und anschließend auch in den Paketmanagern der Distributionen verfügbar sein.
Eben habe ich die neue Version v2.4 auf Bitbucket hochgeladen. Sie behebt u.a. die Inkompatibilität mit der neuen LuaTeX-Version 0.95, die mittlerweile in TeXLive 2016 enthalten ist. Der folgende Auszug aus der README beschreibt kurz die neue Version:
Changes in v2.4:
* compatibility fix for luatex v0.85+
* upgraded obsolete datetime to datetime2
* Bugfix: incorrect positions of PDF text annotations with dvips
Die neue Version v2.4 sollte in den nächsten Tagen auf CTAN und anschließend auch in den Paketmanagern der Distributionen verfügbar sein.