Ich benutze Linux und habe install-tl-unx.tar.gz heruntergeladen, es entpackt und versucht, TeX Live mit dem folgenden Befehl zu installieren:

Open in Online-Editor
sudo ./install-tl

Nachdem ich diesen Befehl eingegeben habe, kam die folgende Meldung:

cannot contact mirror.ctan.org, returning a backbone server!

Danach kam

Loading http://dante.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb

und endlich

./install-tl: open tlpdb(http://dante.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb) failed: Inappropriate ioctl for device at tlpkg/TeXLive/TLPDB.pm line 359.

Ich versuchte, andere Mirrors mit dem Befehl sudo ./install-tl zu benutzen, aber das Problem war immer gleich. Gibt es eine Beziehung mit der Tatsache, dass ich einen Proxy-Server brauche, um auf das Internet zuzugreifen?

gefragt 27 Jul '16, 14:00

fpires's gravatar image

fpires
85157
Akzeptiert-Rate: 0%

bearbeitet 27 Jul '16, 20:35

saputello's gravatar image

saputello
11.1k174365


Wenn Du über einen Proxy ins Internet musst, dann musst Du natürlich dafür sorgen, dass auch install_tl den Proxy verwendet. Da install_tl den Zugriff letztlich via wget durchführt (intern oder extern), geht das genau wie von wget gewohnt. Du kannst also einfach die Variablen http_proxy und https_proxy entsprechend setzen.

Angenommen, der Proxy wäre proxy.net, müsste über Port 8001 angesprochen und via Benutzer fpires mit Passwort geheim angesprochen werden, dann ginge das in der einer Unix-Shell wie der bash beispielsweise, indem Du ein Skript proxy-install-tl.sh wie das folgende anlegst:

#!/bin/sh
export http_proxy=http://fpires:geheim@proxy.net:8001
export https_proxy=https://fpires:geheim@proxy.net:8001
install-tl "$@"
Wenn install-tl nicht in PATH zu finden ist, sondern beispielsweise im aktuellen Verzeichnis, dann muss man natürlich
#!/bin/sh
export http_proxy=http://fpires:geheim@proxy.net:8001
export https_proxy=https://fpires:geheim@proxy.net:8001
./install-tl "$@"
verwenden.

Dieses machst Du mit

chmod u+x proxy-install-tl.sh
ausführbar und rufst es dann beispielsweise mit
sudo ./proxy-install-tl.sh
auf.

Nicht vergessen: Das Skript danach ganz schnell wieder löschen. Passwörter im Klartext auf der Festplatte sind nämlich keine gute Idee!

Weiteres zu den proxy-Environment-Variablen findest Du im wget-Manual.

Man kann die Variablen übrigens auch einfach in ~/.wgetrc setzen. Allerdings würde ich dort kein Passwort angeben. Das sollte man also nur verwenden, wenn man ohne Passwort auf den Proxy zugreifen kann.

Eine Variante, die ohne Skript auskommt, wäre zunächst das Verzeichnis /usr/local/texlive anzulegen und dieses dann dem aktuellen Benutzer zu übereignen, also:

sudo mkdir -p /usr/local/texlive
sudo chown $USER /usr/local/texlive
Das hat den Vorteil, dass nun der aktuelle Anwender ohne Verwendung von sudo einfach per ./install-tl TeX Live installieren kann. Es werden dabei also auch alle seine Umgebungsvariablen verwendet, so dass man http_proxy und https_proxy auch kurzzeitig direkt in der aktuellen Shell setzen und exportieren kann. Ebenso kann dieser Anwender künftig TeX Live mit tlmgr ohne Verwendung von sudo konfigurieren.

Eine Alternative ist, eine lokale Kopie des Repositories zu verwenden. Dazu kann man einfach auf einem Rechner, auf dem man ohne Proxy aufs Internet zugreifen kann, das tlnet-Verzeichnis eines TeX-Live-Mirrors herunterladen, dieses auf den per Proxy abgesicherten Rechner kopieren und beim Aufruf von install_tl via Option --repository als Repository angeben. Wenn das ein im Netzwerk freigegebenes Verzeichnis im Intranet ist, kann man auf diese Weise auf jedem beliebigen Rechner im Intranet TeX Live aus dem lokalen Netz installieren.

Permanenter link

beantwortet 27 Jul '16, 17:43

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 28 Jul '16, 18:30

Danke für deine Antwort, saputello!

Tatsächlich waren die Umgebungsvariablen http_proxy, https_proxy und ftp_proxy schon im /etc/profile exportiert, und ich habe guten Zugriff auf Internet.

Auf jeden fall habe ich ein Skript genauso wie das von dir vorgeschlagen angelegen, und nachdem ich es aufrufe, kommt die Meldung "./proxy-install-tl.sh: 4: ./proxy-install-tl.sh: install-tl: not found", obwohl die Datei "install-tl" ist im gleichen Ordner des Skripts.

Entschuldigung, ich habe noch Schwierigkeiten mit Linux! Danke nochmals!

(28 Jul '16, 17:38) fpires

sudo übernimmt nicht alle exportierten Umgebungsvariablen. Deshalb habe ich mich für die Lösung mit dem Skript entschieden, in dem dann die Umgebungsvariablen bereits im root-Kontext gesetzt werden. Du kannst aber auch einfach einmal mit sudo printenv überprüfen, ob die Umgebungsvariablen bei Verwendung von sudo noch gesetzt sind. Zum Vergleich kannst Du dann einmal in obigem Skript den Aufruf von install-tl durch printenv ersetzen. Siehe auch meine erweiterte Erklärung bezüglich install-tl.

(28 Jul '16, 18:23) saputello

Alles in Ordnung! Danke schön für deine Hilfe, saputello! Geheimnisweise konnte ich in den letzten Tagen auf Internet nicht zugreifen, aber heute hatte ich darauf Zugreiff plötzlich wieder. Ich habe dann sudo ./install-tl einfach wieder aufgerufen, und Tex Live wurde installiert! Ich kann nicht erzählen, was passiert ist, aber alles läuft gut. Danke nochmals!

(03 Aug '16, 16:44) fpires
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×46
×43
×9
×1

gestellte Frage: 27 Jul '16, 14:00

Frage wurde gesehen: 10,788 Mal

zuletzt geändert: 03 Aug '16, 16:44