Bei Problemen mit der Installation oder dem Update von MiKTeX-Paketen beispielsweise aus einem per Firewall abgesicherten Netzwerk wird teilweise empfohlen, ein lokales Repository nur mit den benötigten Paketen anzulegen und aus diesem zu installieren. Aber wie legt man ein solches lokales Repository an? Und wie kann ich dann bei der Installation bzw. beim Update angeben, dass dieses auch verwendet wird?

gefragt 11 Sep '15, 02:35

saputello's gravatar image

saputello
15.8k21949
Akzeptiert: 88%


Als erstes benötigt man einen Rechner, von dem aus Downloads via ftp oder http aus dem Internet möglich sind. Das muss kein Rechner in besagtem abgesicherten Netzwerk sein. Außerdem benötigt man einen Weg, um von diesem Download-Rechner Dateien auf den Arbeitsrechner zu kopieren. Dafür genügt beispielsweise ein USB-Stick, falls auf dem Arbeitsrechner das Lesen von Dateien von einem USB-Stick möglich ist.

Wenn man ein komplettes Repository möchte:

In diesem Fall bietet es sich an, den MiKTeX Net Installer aus den Other Downloads der MiKTeX-Download-Seite auf den Download-Rechner herunterzuladen und zu starten. Im Dialog (hier die 64bit-Version, es genügt aber auch auf 64bit-Windows die 32bit-Version):

alt text

Wählt man zunächst Download MiKTeX. Man wird dann aufgefordert einen passenden Mirror auszuwählen und kann auch das Verzeichnis für den Download bestimmen. Hier kann man beispielsweise einen (hinreichend großen) USB-Stick verwenden oder anschließend das gesamte Verzeichnis auf eine DVD brennen.

Alternativ kann man natürlich auch für ein vollständiges Repository den nachfolgend beschriebenen manuellen Weg für einzelne Pakete verwenden, indem man das gesamte dort angegebene Verzeichnis an Stelle einzelner Dateien herunter lädt.

Wenn man nur ein Repository mit einigen Paketen will:

Für das Anlegen des lokalen Repositories nur mit den gewünschten Paketen, wählt man sich zunächst einen der MiKTeX-Mirror aus. Eine aktuelle Liste findet man unter MiKTeX Package Repositories. Worldwide.. Nur für einzelne Pakete kann man notfalls auch direkt über das CTAN-Mirror MiKTeX Repository gehen, das zufällig einen Mirror auswählt.

Aus den im MiKTeX-Reporitory des gewählten Mirrors verfügbaren Paketen lädt man immer die beiden Dateien miktex-zzdb1-2.9.tar.lzma und miktex-zzdb2-2.9.tar.lzma herunter. Außerdem lädt man aus eben diesem MiKTeX-Repository – also aus demselben …/miktex/tm/packages-Verzeichnis, aus dem man miktex-zzdb1-2.9.tar.lzma und miktex-zzdb2-2.9.tar.lzma heruntergeladen hat – auch die Paketdateien herunter, die man später im lokalen Repository haben will. Und bitte die Paketdateien nicht erst noch auspacken. Sie werden genau in der Form benötigt, in der sie auch auf dem Server liegen, also in der Regel als (unveränderte) Archive mit Endung tar.lzma oder cab, wobei Windows in der Voreinstellung die Endung .cab nach dem Download leider meist nicht mehr anzeigt.

Die beiden angegebenen Dateien und die Paketdateien kopiert man dann in ein (neues) Verzeichnis auf dem Zielrechner. Dieses Verzeichnis dient nun als lokales Repository für die Installation. Es ist unbedingt zu beachten, dass man beim Download weiterer oder bei der Erneuerung alter Dateien auch immer die beiden Dateien miktex-zzdb1-2.9.tar.lzma und miktex-zzdb2-2.9.tar.lzma auf den aktuellen Stand bringt. Die Daten aus dieser Datei verwendet MiKTeX nämlich u. a., um zu erfahren, welche Paketversionen im Repository enthalten sind.

Hinweis: Es empfiehlt sich unbedingt alle Dateien von demselben Mirror zu laden, was bei Verwendung der beiden Dateilinks, miktex-zzdb1-2.9.tar.lzma und miktex-zzdb2-2.9.tar.lzma, aus diesem Beitrag nicht gewährleistet ist! Deshalb besser erst einen Mirror wählen und dann alle Dateien von diesem herunter laden.

Installation aus einem lokalen Repository

Egal ob aus einem kompletten lokalen Repository oder einem lokalen Repository mit nur wenigen Paketen, die Installation daraus ist immer gleich. Man startet den Paket- oder Updatemanager, wählt das Verzeichnis mit entweder den per Net Installer heruntergeladenen Dateien oder den oben genannten einzelnen Dateien als local Repository aus und führt dann die Installation der gewünschten Pakete aus.

Nachsatz

Wenn man den Net Installer auch auf dem Zielrechner installiert, kann man das auf dem Downloadrechner per Net Installer erzeugte und auf den Zielrechner kopierte vollständige Repository auch verwenden, um ein komplettes MiKTeX auf dem Zielrechner zu installieren. Dazu dient schlicht der zweite Punkt im oben gezeigten Dialog.

So ein vollständiges, lokales Repository ist auch praktisch, wenn man regelmäßig mehrere MiKTeX-Installationen aktualisieren oder ergänzen möchte und keine sehr schnelle Internet-Anbindung besitzt. Man kann dann einfach auf einem USB-Stick oder einem Netzlaufwerk beispielsweise per rsync (Achtung: Nicht alle Mirror verstehen rsync!) ein einziges lokales Repository aktuell halten und für alle Installations- oder Updatearbeiten darüber arbeiten.

Permanenter link

beantwortet 11 Sep '15, 03:09

saputello's gravatar image

saputello
15.8k21949

bearbeitet 12 Sep '15, 04:31

Du solltest vielleicht hinzufügen, dass mit "Außerdem lädt man die Paketdateien herunter" nur Dateien aus tm/packages gemeint sind. (Es gibt viele, die versuchen normale CTAN-zip oder Pakete aus externen Quellen so zu installieren.)

(11 Sep '15, 07:15) Ulrike Fischer
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×104
×29
×12
×3

Frage gestellt: 11 Sep '15, 02:35

Frage wurde angeschaut: 1,787 Mal

Zuletzt aktualisiert: 12 Sep '15, 04:31