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: [email protected]

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!

Mcferry
quelle

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:[email protected]: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:[email protected]:80";

Wenn Sie das @Symbol in Ihrem Benutzernamen verwenden müssen, müssen Sie es mit einem Backslash ( [email protected]) 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@[email protected]:portwird username:my%[email protected]:port. Weitere Informationen finden Sie in dieser Liste der URL-codierten Zeichen .

Jase
quelle
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.

Justin Peter
quelle
4

Dies sollte Ihr Problem lösen:

export http_proxy=http://username:[email protected]:80/
Abasi Bo
quelle
EXPORT HTTP_proxy=http://username:[email protected]: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