Wie verwende ich "apt-get" über "Http-Proxy" wie folgt?


20

Ich versuche, apt-getBefehl in einem Netzwerk zu verwenden, das einen Proxy verwendet, wie folgt:

Wir verwenden 10.114.7.7 auf Port 80 als HTTP-Proxy. Danach wird ein Authentifizierungsfenster angezeigt, in dem Sie nach Benutzername und Kennwort gefragt werden.

Unser Benutzername / Domain ist wie folgt: username@urmia.ac.ir

Ich frage mich, wie ich http_proxy=http://User:Pass@Proxyserver:Portin dieser Situation verwenden kann !? Ich habe auch versucht, beide, 10.114.7.7 und urmia.ac.ir als Proxy-Server, aber kein Ergebnis!

Antworten:


35

Um apt-get über einen Proxy zu verwenden, erstellen Sie entweder eine Datei mit dem /etc/apt/apt.conf.d/Namen proxy oder etwas, das Sie erkennen werden, oder erstellen Sie (falls nicht vorhanden) /etc/apt/apt.confdie folgende Zeile:

Acquire::http::Proxy "http://username:password@proxy.server:port/";

Ersetzen Sie einfach Benutzername und Passwort durch Ihre Anmeldedaten und ersetzen Sie proxy.server: port durch die richtige Adresse (in Ihrem Fall 10.114.7.7:80), sodass Ihre Leitung ungefähr so ​​endet:

Acquire::http::Proxy "http://username:password@10.114.7.7:80";

Wenn Sie das @Symbol in Ihrem Benutzernamen verwenden müssen, müssen Sie es mit einem Backslash ( username@urmia.ac.ir) maskieren.

Während das Escape-Zeichen mit dem Backlash nicht funktioniert (z. B. \@in exportund wget), können Sonderzeichen mit URL-Codierung escaped werden. Zum Beispiel username:my@pass@server.com:portwird username:my%40pass@server.com:port. Weitere Informationen finden Sie in dieser Liste der URL-codierten Zeichen .


Die vorgeschlagene Lösung zum Hinzufügen eines Proxy-Eintrags in / etc / apt hat bei mir funktioniert, aber ich stelle fest, dass Sie, wenn Ihr Proxy-Server Anmeldeinformationen zwischenspeichert, das Einbetten Ihrer Anmeldeinformationen in die Konfigurationsdatei vermeiden können, indem Sie sich einfach über Ihren Proxy-Server in einem anderen Prozess authentifizieren ( (zB Webbrowser in Windows), bevor Sie die apt-Befehle in Ihrer Bash-Shell ausführen. Auf diese Weise konnte ich den Proxy-Eintrag in / etc / apt als " Server: Port " anstelle von " Benutzername: Passwort @ Server: Port " angeben .
Peter Sanza

6

Alternativ können Sie Folgendes in einfügen /etc/apt/apt.conf

Acquire::http::Proxy "http://proxy.server.port:8080";

8080 ist die Portnummer und ich denke das ist Standard.

Vergessen Sie nicht die Anführungszeichen oder das abschließende Semikolon.


4

Dies sollte Ihr Problem lösen:

export http_proxy=http://username:password@10.114.7.7:80/

EXPORT HTTP_proxy=http://username:password@10.114.7.7:80/run in Bash ergibt EXPORT: command not found.
David Foerster

Sowohl export als auch http in Kleinbuchstaben. Bash unterscheidet zwischen Groß- und Kleinschreibung. Sonst sollte es funktionieren. Zumindest arbeitet es seit zwei Jahren für mich.
s3lph

6
funktioniert für locken, aber nicht für apt.
FGM
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.