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:
Heute möchte ich mal kurz erklären, wie ich die Grafiken für die Zitate im Blog erstelle und die Veröffentlichung vorbereite. Dazu nutze ich die Prozesskette bash-Skript → LaTeX (pdflatex) → ImageMagick (convert,mogrify)
Nach Auswertung der Parameter (siehe README) erzeugt das Skript eine LaTeX-Datei (HERE-Dokument) – aus der pdflatex eine PDF-Datei erstellt – und filename.wp als Vorlage für WordPress. Mithilfe der ImageMagick-Tools convert und mogrify erfolgt die Umwandlung der PDF-Datei in eine HiRes-JPG-Datei, die abschließend in eine “gute” JPG-Datei für den Blog umgewandelt wird (300dpi, ca. 600*300). Life Can Be So Easy! 😉
erzeugt eine JPG-Datei mit dem Zitat sowie die Datei filename.wp zur Übernahme in
Wordpress. Der Parameter `filename` ist optional; per default ist `filename` mit dem
aktuellen Datum im YYYYMMDD-Format besetzt.
Beispielsweise erzeugt der Aufruf die folgende Grafik
zitat 'Willst du den Charakter eines Menschen erkennen, so gib ihm Macht.'
'Abraham Lincoln (1809--1865)' 'amerikanischer Politiker' 20170512
sowie diese Wordpress-Vorlage:
<p style="text-align: right;">#Zitat #AbrahamLincoln</p>
<hr />
<img class="aligncenter" src="https://www.kleberj.de/wp-content/uploads/2017/05/20170512.jpg" alt="Willst du den Charakter eines Menschen erkennen, so gib ihm Macht. - Abraham Lincoln (1809-1865) - amerikanischer Politiker" />
<hr />
<blockquote>Willst du den Charakter eines Menschen erkennen, so gib ihm Macht.</blockquote>
<p style="text-align: right;">Abraham Lincoln (1809-1865)
amerikanischer Politiker</p>
erzeugt eine JPG-Datei mit dem Zitat sowie die Datei filename.wp zur Übernahme in
Wordpress. Der Parameter filename ist optional; per default ist filename mit dem
aktuellen Datum im YYYYMMDD-Format besetzt.
Beispielsweise erzeugt der Aufruf die folgende Grafik
zitat ‘Willst du den Charakter eines Menschen erkennen, so gib ihm Macht.’
‘Abraham Lincoln (1809–1865)’ ‘amerikanischer Politiker’ 20170512
<img class="aligncenter"src="https://www.kleberj.de/wp-content/uploads/2017/05/20170512.jpg"alt="Willst du den Charakter eines Menschen erkennen, so gib ihm Macht. - Abraham Lincoln (1809-1865) - amerikanischer Politiker" />
<hr />
<blockquote>Willst du den Charakter eines Menschen erkennen, so gib ihm Macht.</blockquote>
<p style="text-align: right;">Abraham Lincoln (1809-1865)
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 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.