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.
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.
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.
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
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.
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.
Kommentare
TeX Live unter Windows
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:
pinning gemacht?
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.
Einfluss des Repository main?
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.
Bestätigt und so gut wie behoben
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.
Behoben
In der Zwischenzeit ist das Problem durch ein Update des TeX Live Managers wirklich behoben.
tar: Unknown file type '2'
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 ...
[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.
Hardlinks
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.