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:

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:

-----BEGIN PGP PUBLIC KEY BLOCK-----
 
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
=68xQ
-----END PGP PUBLIC KEY BLOCK-----


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/2016https://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