Sie sind hier

TeX Live Repository zur Installation über den TeX Live Paketmanager tlmgr

Bild von Markus Kohm
English: → TeX Live Repository for Installation Using the TeX Live Package Manager tlmgr TeX Live bietet seit Version 2013 die Möglichkeit, mit mehreren Paketquellen, sogenannten Repositories, zu arbeiten und dabei auch festzulegen, welches Paket bevorzugt aus welcher Quelle installiert und aktualisiert werden soll. Dabei gibt es grundsätzlich zwei Möglichkeiten: Da sich der Aufbau des Repositories von TeX Live 2015 zu TeX Live 2016 geändert hat, gibt es zwei Repositories:
  • https://www.komascript.de/repository/texlive/2015 für TeX Live 2013–2015
  • https://www.komascript.de/repository/texlive/2023 für TeX Live 2016–2023¹
Es ist zu beachten, dass auf die Links nur via tlmgr zugegriffen werden kann.

Einmalige, nicht dauerhafte Installation

Die einmalige Installation aus einem bestimmten Repository ist sehr einfach. Dazu ruft man tlmgr nach dem folgenden Schema auf:
tlmgr install --repository <URL> <Paketname>
<URL> ist dabei durch den Link auf das Repository und <Paketname> durch den Namen des TeX-Live-Pakets zu ersetzen. Ist das Paket bereits installiert, so ist zusätzlich Option --reinstall anzugeben. Soll also beispielsweise das TeX-Live-Paket koma-script für TeX Live ab 2016 durch die Version aus meinem Repository ersetzt werden, so ist
tlmgr install --reinstall --repository https://www.komascript.de/repository/texlive/2023 koma-script
zu verwenden. Es ist zu beachten, dass beim nächsten Update die Pakete aus meinem Repository in der Regel wieder durch die Versionen aus dem TeX-Live-Repository ersetzt werden, da diese eine höhere interne Revisionsnummer besitzen. Dieser Weg ist also nur für kurzfristige Tests geeignet. In der grafischen Oberfläche des TeX-Live-Managers, die man mit »tlmgr gui« starten kann, kann man das Paket auch von Hand wieder deinstallieren und ggf. aus der Standardquelle neu installieren. Bei einer Mehrbenutzerinstallation von TeX Live unter Windows, muss man tlmgr übrigens in der Regel als Administrator starten. Bei einer Mehrbenutzerinstallation unter Linux kann es sein, dass nur Benutzer root Pakete installieren darf. Dann ist tlmgr via sudo aufzurufen, also beispielsweise:
sudo tlmgr install --reinstall --repository https://www.komascript.de/repository/texlive/2023 koma-script
Man kann den tlmgr aber auch bei einer Mehrbenutzerinstallation im sogenannten Usermode betreiben. Näheres dazu ist der Anleitung zu entnehmen, die man mit »texdoc tlmgr« oder mit »tlmgr help« erhält. Diese Verwendung von tlmgr im Usermode ist übrigens auch dann möglich, wenn man kein Vanilla TeX Live, sondern die TeX-Live-Pakete einer Linux-Distribution verwendet.

Festlegung meines Repositories als dauerhafte Paketquelle

Man kann mein Repository auch als dauerhafte Quelle für ein Paket festlegen. Dazu muss man zunächst mein Repository als neue Quelle anmelden und diese dann beispielsweise für das TeX-Live-Paket koma-script als Quelle festpinnen:
tlmgr repository add https://www.komascript.de/repository/texlive/2023 KOMA
tlmgr pinning add KOMA koma-script
Benutzer von TeX Live 2013–2015 ersetzen 2023 im Pfad natürlich durch 2015. In der Regel wird das TeX-Live-Paket koma-script aber bereits aus dem Standard-TeX-Live-Repository installiert sein. Um dieses nun durch die Version aus dem neuen Repository KOMA zu ersetzen, muss eine Neuinstallation des Pakets erzwungen werden:
tlmgr install --reinstall koma-script
Bei dieser Installation und allen künftigen Updates von Paket koma-script wird tlmgr dann eine Zeile wie:
[1/1, ??:??/??:??] reinstall: koma-script @KOMA [6373k]
ausgeben. An dem @KOMA kann man erkennen, dass das Paket aus dem KOMA-Repository installiert wird. Bei einer Mehrbenutzerinstallation von TeX Live unter Windows, muss man tlmgr übrigens in der Regel als Administrator starten. Bei einer Mehrbenutzerinstallation unter Linux kann es sein, dass nur Benutzer root Pakete installieren darf. Dann ist tlmgr via sudo aufzurufen, also beispielsweise:
sudo tlmgr repository add https://www.komascript.de/repository/texlive/2023 KOMA
sudo tlmgr pinning add KOMA koma-script
sudo tlmgr install --reinstall koma-script
Man kann den tlmgr aber auch bei einer Mehrbenutzerinstallation im sogenannten Usermode betreiben. Näheres dazu ist der Anleitung zu entnehmen, die man mit »texdoc tlmgr« oder mit »tlmgr help« erhält. Diese Verwendung von tlmgr im Usermode ist übrigens auch dann möglich, wenn man kein Vanilla TeX Live, sondern die TeX-Live-Pakete einer Linux-Distribution verwendet.

Verifizierte Paketinstallation für TeX Live ab 2016

Seit TeX Live 2016 bietet TeX Live die Verifizierung von TeX Live Repositories via gpg an. Dazu muss entweder gpg oder gpg2 installiert sein. Auch mein Repository besitzt dazu eine digitale Signatur. Damit tlmgr diese überprüfen kann, ist aber zunächst der öffentliche Schlüssel zu importieren. Dieser hat den Fingerprint:
654E 0E2F 3E1F 283C BA58  37A1 4B8E DF5B ACB5 A37E
und lautet: Dieser Schlüssel ist jedoch nicht in den normalen Schlüsselbund zu importieren. Stattdessen ist er mit tlmgr selbst in dessen eigenen Schlüsselbund zu importieren. Hat man den Schlüssel als Datei KOMA.repo.asc gespeichert, so geht das einfach per
tlmgr key add KOMA.repo.asc
Lässt man sich anschließend den Schlüsselbund mit
tlmgr key list
anzeigen, so sollte bei TeX Live 2023:
/usr/local/texlive/2023/tlpkg/gpg/pubring.gpg
---------------------------------------------
pub   rsa2048 2016-03-19 [SC]
      C78B82D8C79512F79CC0D7C80D5E5D9106BAB6BC
uid        [ ultimativ ] TeX Live Distribution <tex-live@tug.org>
sub   rsa2048 2016-03-19 [E]
sub   rsa2048 2016-03-19 [S] [verfällt: 203-06-23]
 
/usr/local/texlive/2023/tlpkg/gpg/repository-keys.gpg
-----------------------------------------------------
pub   rsa2048 2014-08-08 [SC] [verfällt: 2024-07-01]
      654E0E2F3E1F283CBA5837A14B8EDF5BACB5A37E
uid        [ unbekannt ] KOMA.repo (This key is used only to sign my repositories.) <komascript@gmx.info>
ausgegeben werden. Dabei darf lediglich der Pfad zu den beiden Dateien und ggf. das Verfallsdatum abweichen. Bei TeX Live 2016 und TeX Live 2017 werden von den Hex-Codes der Fingerprints jedoch jeweils nur die letzten acht Stellen ausgegeben. Bei einer Mehrbenutzerinstallation von TeX Live unter Windows, muss man tlmgr übrigens in der Regel als Administrator starten. Bei einer Mehrbenutzerinstallation unter Linux kann es sein, dass nur Benutzer root Pakete installieren darf. Dann ist tlmgr via sudo aufzurufen, also beispielsweise:
sudo tlmgr key add KOMA.repo.asc
Ein Schlüsselimport im Usermode von tlmgr ist hingegen meines Wissens nicht möglich. Man kann bei TeX Live ab 2016 auch ohne Verfikation der Repositories arbeiten. Siehe dazu die Anleitung zu tlmgr, die man mit »texdoc tlmgr« oder mit »tlmgr help« erhält.

Zurück zum Original-Repository von TeX Live

Will man aus irgendwelchen Gründen wieder die KOMA-Script-Version von TeX Live selbst verwenden, ist das Pinning zu entfernen und das Paket neu zu installieren. Mit
tlmgr pinning remove KOMA koma-scriptl
beseitigt man das Pinning für das Paket koma-script auf das Repository KOMA. Man muss das Paket dann aber noch neu installieren:
tlmgr install --reinstall koma-script
damit wieder die Version aus dem TeX Live Repository verwendet wird. Will man sämtliches Pinning auf KOMA beseitigen und auch das Repository wieder los werden, verwendet man:
tlmgr pinning remove KOMA --all
tlmgr repository remove KOMA
Auch danach muss man ggf. noch die zuvor gepinnten Pakete neu installieren (siehe oben). Beim Entfernen des Pinnings und des Repositories und bei der erneuten Paketinstallation sind u. U., wie schon bei der Aktivierung, Administrator- bzw. root-Rechte erforderlich.


1 – https://www.komascript.de/repository/texlive/2016 – https://www.komascript.de/repository/texlive/2022 funktionieren vorerst zwar weiter, es wird aber empfohlen, für neue Installationen nur noch https://www.komascript.de/repository/texlive/2023 zu verwenden.

Kommentare

Neben MiKTeX habe ich auch noch eine TeX Live 2013 Installation unter Windows 7 und eine unter Ubuntu, in denen ich die neue Möglichkeit ebenfalls getestet habe. Die erstmalige Installation nach obiger Anleitung funktionierte super und auch beim Updaten über die Kommandozeile gibt es keine Unterschiede zwischen beiden, d.h. für koma-script werden nur noch Aktualisierungen aus dem Repository KOMA genutzt. Unter Ubuntu kann ich auch die GUI des TeX Live Managers verwenden, die beide Repositories lädt und mir ebenfalls nur Aktualisierungen aus dem KOMA Repository anzeigt.

Unter Windows lädt die GUI dagegen nur das Repository main und möchte wegen der höheren Versionsnummer koma-script jedes Mal aus diesem aktualisieren. Wenn ich keine Updates aus dem KOMA Repository verpassen möchte, werde ich wohl vorerst über die Kommandozeile updaten. Sollte ich dennoch mal versehentlich mit der GUI auf die Version aus dem offiziellen TeX Live Repository „aktualisieren“, kann ich das jederzeit von der Kommandozeile aus rückgängig machen mit:

tlmgr install --reinstall koma-script
Bild von Markus Kohm

Das pinning für koma-script hast Du unter Windows gemacht? Falls dem so ist, wäre das ein Grund für einen Bug-Report an TeX-Live. Denn natürlich sollte das pinning auch unter Windows sowohl von der Kommandozeile als auch von der GUI beachtet werden.

Ich werde das irgendwann auch mal selbst testen. Nur im Augenblick habe ich dafür schlicht nicht die Zeit.

Das pinning hatte ich unter Windows genau wie unter Ubuntu gemacht. Aber ich habe bei mir jetzt einen anderen Unterschied zwischen beiden Versionen gefunden: den Eintrag beim main Repository. Unter Windows hatte ich den irgendwann zu http://mirror.ctan.org/systems/texlive/tlnet (also wie bei Dir oben) geändert, während unter Ubuntu ein ganz konkretes steht.

Beseitige ich diesen Unterschied, dann verhalten sich bei mir die GUIs des TeX Live Managers unter Windows und unter Ubuntu gleich: mit einem konkreten main Repositoryeintrag lädt die GUI beide Installationsquellen und beachtet das pinning. Ändere ich dagegen das main Repository zu http://mirror.ctan.org/systems/texlive/tlnet , lädt die GUI das Repository KOMA nicht mit und beachtet das pinning nicht.

Bild von Markus Kohm

Nachdem ich endlich dazu gekommen bin, das nachzuvollziehen (was etwas problematisch war, da offenbar bei mir zuerst immer ein Mirror automatisch ausgewählt wurde, der nicht richtig funktioniert hat), habe ich das Problem an die TeX-Live-Mailingliste gemeldet. Norbert hat wie so oft, schnell reagiert und innerhalb von drei Stunden das Problem im Quellcode nachvollzogen. Die (von mir bereits getestete) Lösung ist auf dem Weg und wird vermutlich demnächst per Update verfügbar sein.

Ohne GUI, mit der Kommandozeile von tlmgr funktioniert es, wie bereits festgestellt, auch jetzt schon.

In der Zwischenzeit ist das Problem durch ein Update des TeX Live Managers wirklich behoben.

Hallo Markus,

das Pinning funktioniert nach wie vor, nur bekomme ich seltsame Hinweise (s. Betreff oder unten). Ich kann damit nichts anfangen, und mich stört's auch nicht weiter (scheint alles weiterhin zu funktionieren) - wollt's trotzdem kurz melden, evtl. kannst Du was damit anfangen ...

C:\Windows\system32>tlmgr update --all
tlmgr.pl: package repositories
        main = ftp://ftp.rrzn.uni-hannover.de/pub/mirror/tex-archive/systems/texlive/tlnet (verified)
        KOMA = https://www.komascript.de/repository/texlive/2018 (not verified: pubkey missing)
tlmgr.pl: saving backups to C:/texlive/2018/tlpkg/backups
[ 1/33, ??:??/??:??] update: achemso [883k] (48678 -> 50025@main) ... done
[ 2/33, 00:03/02:56] update: acro [598k] (46492 -> 50045@main) ... done
[ 3/33, 00:06/03:30] update: biblatex-oxref [2004k] (46852 -> 50061@main) ... done
[ 4/33, 00:08/01:59] update: bibleref-french [641k] (35497 -> 50075@main) ... done
[ 5/33, 00:10/02:05] update: brandeis-problemset [129k] (49783 -> 50030@main) ... done
[ 6/33, 00:12/02:26] update: fnpct [580k] (40535 -> 50046@main) ... done
[ 7/33, 00:14/02:30] update: ftc-notebook [3545k] (49950 -> 50043@main) ... done
[ 8/33, 00:17/01:45] update: hithesis [1032k] (46564 -> 50062@main) ... done
[ 9/33, 00:19/01:44] update: knowledge [754k] (49803 -> 50031@main) ... done
[10/33, 00:22/01:52] update: koma-script [7930k] (3074 -> 3089@KOMA) ... tar: Unknown file type '2' for source/latex/koma-script/doc/scrdate.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrreprt.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/typearea.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrbase.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/koma-script.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrlayer-notecolumn.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrletter.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/komascr.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrartcl.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/tocbasic.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scraddr.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrlttr2.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrlayer.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/komascript.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrextend.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrbook.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrguien.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrtime.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrhack.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrguien.pdf, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrlayer-scrpage.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrwfile.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrguide.pdf, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrguide.html, extracted as normal file
tar: Unknown file type '2' for source/latex/koma-script/doc/scrlfile.html, extracted as normal file
done
[11/33, 00:28/01:20] update: l3kernel [8326k] (49853 -> 50036@main) ... done

[Admin-Edit:] Ursprünglichen Kommentar aus einer Diskussion im Forum »KOMA-Script → Fehlermeldungen → erledigt« hierher verschoben, da hier IMO sinnvoller und für andere leichter zu finden.

Bild von Markus Kohm

Das verwendete tar kann keine SymLinks anlegen und erzeugt stattdessen eine normale Datei. AFAIK können unter Windows 10 nur Administratoren SymLinks erzeugen. Wenn die genannten Dateien stattdessen als Kopien der eigentlich verlinkten Dateien angelegt wurden, ist das aber in Ordnung. Wenn stattdessen in der Datei nur der Name der verlinkten Datei steht, wäre das hingegen nicht so toll.

Comments for "TeX Live Repository zur Installation über den TeX Live Paketmanager tlmgr" abonnieren