Ein TeXLive-Mirror (pretest) auf einem Synology NAS

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!

$ ssh -p 2200 admin@<NAS-IP>
admin@<NAS-IP>'s password:

admin@jknas:~$ cd /volume1/web
admin@jknas:/volume1/web$ chmod +rwx update_texlive.sh
admin@jknas:/volume1/web$ ls -al
total 36
drwxrwxrwx+ 6 root root 4096 Apr 18 11:26 .
drwxr-xr-x 30 root root 4096 Mar 30 10:25 ..
drwxrwxrwx+ 3 root root 4096 Mar 30 10:25 @eaDir
-rwxrwxrwx+ 1 http http 1474 Jul 9 2016 index.html
-rwxr-xr-x 1 admin users 184 Apr 18 11:38 update_texlive.sh
drwx--x--x 2 http http 4096 Jul 9 2016 web_images

Abschließend können wir testen, ob mit einem manuellen Aufruf alles wie gewünscht funktioniert:

admin@jknas:/volume1/web$ ./update_texlive.sh

receiving incremental file list
tlpretest/
tlpretest/00_TIME.txt
tlpretest/README
tlpretest/install-tl
tlpretest/install-tl-advanced.bat
tlpretest/install-tl-unx.tar.gz
tlpretest/install-tl-unx.tar.gz.sha512
tlpretest/install-tl-unx.tar.gz.sha512.asc
tlpretest/install-tl-windows.bat
tlpretest/install-tl-windows.exe
^C

Im Verzeichnis finden wir nun einen neuen Ordner “tlpretest”

admin@jknas:/volume1/web$ ls -al
total 36
drwxrwxrwx+ 6 root root 4096 Apr 18 13:12 .
drwxr-xr-x 30 root root 4096 Mar 30 10:25 ..
drwxrwxrwx+ 3 root root 4096 Mar 30 10:25 @eaDir
-rwxrwxrwx+ 1 http http 1474 Jul 9 2016 index.html
drwxrwsr-x 4 admin users 4096 Apr 18 13:12 tlpretest
-rwxr-xr-x 1 admin users 184 Apr 18 11:38 update_texlive.sh
drwx--x--x 2 http http 4096 Jul 9 2016 web_images

Automatischer Aufruf (Task)

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:

$ ./install-tl-windows -repository https://<NAS-IP>/tlpretest -gui wizard

Gute Nacht Freunde 🙁

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:

$ tlmgr option repository https://<NAS-IP>/tlpretest


$ tlmgr update -self -all
tlmgr.pl: package repository https://<NAS-IP>/tlpretest (verified)
tlmgr.pl: saving backups to C:/texlive/2017/tlpkg/backups

Auf dem frisch installierten System gibt es natürlich keine Updates, aber alles funktioniert wie gewünscht!

Dieser Beitrag wurde unter LaTeX abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.