Dies gilt für eine Installation von Ubuntu 13.04 Desktop in einer VirtualBox-VM. Ich bin in einem Unternehmensnetzwerk mit einem HTTP-Proxy unter xyz251: 9090. Ich habe das Gastbetriebssystem mit dem Autokonfigurationsskript konfiguriert, damit Firefox einwandfrei funktioniert, aber ich kann "apt-get" oder "Ubuntu Software Center" nicht dazu bringen, eine Verbindung über den Proxy herzustellen.
Ich habe die Datei "/etc/apt/apt.conf" erstellt, sie enthält jetzt eine einzelne Textzeile:
Acquire::http:Proxy "http://x.y.z.251:9090"
Das ist die Datei proxy.pac, die ich unter "Systemeinstellungen / Netzwerk / Netzwerkproxy" angegeben und auf das gesamte System angewendet habe.
Wenn ich Firefox verwende, zeigt eine Paketverfolgung an, dass die TCP-Verbindung über den Unternehmensproxy an Port 9090 hergestellt wird. Wenn ich "Ubuntu Software Center" und "apt-get" ausführe, zeigt die Paketverfolgung TCP-SYN-Pakete mit der eventuellen Ziel-IP an Adresse und Port 80. Es erfolgt natürlich keine Antwort auf die SYN-Pakete, da die Firewall des Unternehmens das Ein- und Aussteigen von TCP-Verbindungen auf Port 80 blockiert.
Mit "sudo apt-get" in einem Terminalfenster sehe ich immer:
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/main Translation-en_US
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/main Translation-en
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/restricted Translation-en_US
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/restricted Translation-en
Err http://extras.ubuntu.com raring Release.gpg
Could not connect to extras.ubuntu.com:80 (91.189.92.152), connection timed out
Err http://archive.canonical.com raring Release.gpg
Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
Err http://us.archive.ubuntu.com raring Release.gpg
Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
Err http://us.archive.ubuntu.com raring-updates Release.gpg
Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
Err http://us.archive.ubuntu.com raring-backports Release.gpg
Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
59% [Connecting to security.ubuntu.com (91.189.91.14)]
Schließlich sehe ich:
Err http://security.ubuntu.com raring-security Release.gpg
Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
Reading package lists... Done
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring/Release.gpg Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring-updates/Release.gpg Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring-backports/Release.gpg Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/Release.gpg Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
W: Failed to fetch http://archive.canonical.com/ubuntu/dists/raring/Release.gpg Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/raring/Release.gpg Could not connect to extras.ubuntu.com:80 (91.189.92.152), connection timed out
W: Some index files failed to download. They have been ignored, or old ones used instead.
Ich bin mir überhaupt nicht sicher, was ich falsch mache.
--- Update ---- Ich habe auch versucht:
Acquire::http:proxy "http://user:[email protected]:9090/"
"xyz" sind natürlich Platzhalter; Ich bezweifle, dass die Sicherheitsbeamten meines Arbeitgebers mir die tatsächlichen Zahlen mitteilen würden. Ich sehe keinen Unterschied in der Paketverfolgung - "apt-get" verwendet immer noch die realen IP-Adressen und den Port 80. Ich habe absichtlich einen Fehler in der Datei apt.conf gemacht und "apt-get" mit einem Fehler beendet bin sicher, dass es diese Konfigurationszeile für den Proxy sieht, es scheint nur nicht, es zu honorieren.
Ich verwende die "NAT" -Netzwerkverbindung, da dies gegen die IT-Richtlinie zur Überbrückung von Netzwerken verstößt und der DHCP-Server nur Adressen für bekannte MAC-Adressen bereitstellt. Ich möchte nicht, dass die IT-Sicherheit (wieder) auf meinen Würfel prallt.
quelle
:
zwischenhttp
und einen Doppelpunkt mehr verpasstProxy
?http::Proxy
stattdessenhttp:Proxy
.Antworten:
Nach meinen bisherigen Erfahrungen funktioniert Ubuntu (GNOME) mit PAC (Automatic Config) insgesamt nicht sehr gut. Pac (Proxy Auto-config) ist im Grunde eine JavaScript-Logik, um den nächstgelegenen oder am besten geeigneten Proxy für Sie zu ermitteln. Ich empfehle dringend , die Proxy-Server direkt zu verwenden (in Ihrem Fall Netzwerk - Netzwerk-Proxy).
Ein paar Dinge zu überprüfen
Überprüfen Sie Ihre /etc/apt/apt.conf
Die Netzwerk-Netzwerk-Proxy-Benutzeroberfläche aktualisiert
/etc/apt/apt.conf
und stellt die Proxy-Informationen dort ein.Informationen zum Proxy-Server erhalten Sie von pac
Sie finden die Details, indem Sie die
proxy.pac
Datei trotzdem lesen .Das
/etc/apt/apt.conf
sollte also so aussehen (angenommen, der Proxyserver ist => proxy.company.com Port 80), verwenden Sie KEINE pac URL.Antworten Sie in der Manpage von apt.conf auf den Kommentar von @Braiam
Überprüfen Sie die Proxy-Umgebungsvariablen
Sie können die Proxy-Einstellungen überprüfen, indem Sie im Terminal Folgendes ausführen
Wenn Sie die Umgebungsvariablen korrekt festlegen, sollten Sie in der Lage sein, in der CLI zu aktualisieren.
Bevorzugen Sie IPv4
Mir ist aufgefallen, dass ich
apt-get
versucht habe, über die IPv6-Adresse eine Verbindung zu den Update-Servern herzustellen. Dies kann zu Problemen führen (manchmal laufen die IPV6-Adressen ab oder ändern sich).Sie können bearbeiten
/etc/gai.conf
und hinzufügen,precedence ::ffff:0:0/96 100
um ipv4 vor ipv6 zu bevorzugen.Mehr Details
quelle
http_proxy
Umgebungsvariablen.man apt.conf
und schauhttp::Proxy
. Ich habe auch die Antwort aktualisiert. Auch ich habe mithttp_proxy
undhttps_proxy
Variablen Umgebung mit verwendenapt-get
seit Jahren. Recherchiere, bevor du abstimmst.sudo apt-get -o Debug::Acquire::http=true update
Sie den Proxy aus und überprüfen Sie, ob nur die Umgebungsvariable den Proxy verwendet. Und wenn Sie Proxy für das Jahr verwendet haben, lassen Sie sich aktualisieren .Ich glaube, ich hatte genau dieses Problem und die Antwort ist einfach. Die Syntax ist kritisch. Es muss so aussehen:
(Es gibt ein zusätzliches ":" und ein abschließendes ";")
quelle
@Braiam
Ich denke, es ist besser, eine separate Antwort zu beginnen, um die Dinge zu klären.
Ich habe einen kurzen Test mit Vagrant und einer Ubuntu 13.04 Raring x86_64 VM hinter einer Firewall durchgeführt.
Apt-Get-Version ist
0.9.7.7ubuntu4
Update: Bei Precise 12.04.3 funktioniert es genauso
1. Apt-Konfigurationsdateien löschen
Ich habe die Proxy-Einstellungen in gelöscht
/etc/apt/apt.conf
. Ich habe auchack
undag
Scan aller Dateien und Unterverzeichnisse ,/etc/apt
um dort sicherzustellen , dass es keinen Proxy - Satz in apt - Konfigurationsdateien.Standardmäßig
{http_proxy,https_proxy,ftp_proxy}
sind keine env-Variablen festgelegt.apt-get konnte keine Verbindung zu den Update-Servern herstellen.
2nd - Umgebungsvariablen setzen
Legen Sie einfach die Proxy-Variablen fest
apt-get kann jetzt eine Verbindung herstellen!
Siehe die Debug-Ausgabe (dies ist etwas, was ich noch nie ausprobiert habe).
......
3. Deaktivieren Sie die Umgebungsvariablen
Deaktivieren Sie die env vars =>
unset {http_proxy,https_proxy,ftp_proxy}
Jetzt konnte apt-get keine Verbindung herstellen.
Fazit
Genauso wie es
man apt.conf
heißt, wenn http :: Proxy NICHT gesetzt ist, wird diehttp_proxy
Umgebungsvariable verwendet.Übrigens : Ich bin auch ein Arch Linux-Benutzer. Pacman funktioniert auf ähnliche Weise. Wenn ich keine
wget
odercurl
Proxypacman.conf
-Umgebungsvariablen verwende, werden die Umgebungsvariablen "{http_proxy, https_proxy, ftp_proxy}" verwendet.Bei der Aktualisierung werden
sudo
Umgebungsvariablen NICHT beibehalten. Deshalbsudo apt-get update
scheitert. Verwenden Sie, um das Problem zu umgehen (Proxy-Umgebungsvariablen beibehalten)sudo -E apt-get update
.quelle
sudo
stattdessen als root anzumelden, und sehen Sie, warum ich sagte, dass es nicht funktioniert hat.sudo
Bewahrt keine Umgebungsvariablen, das ist das Problem! Aber Sie können essudo -E apt-get update && apt-get dist-upgrade
umgehen, indem Sie ;-)Berühren Sie /etc/apt/apt.conf && sudo vi etc / apt / apt.conf
Acquire :: http: proxy " http: // user: pass @ xyz00: 80 / "; Acquire :: https: proxy " https: // user: pass @ xyz00: 80 / ";
Ersetzen Sie xyz00: 80 - >> Ihre Proxy-URL oder IP
quelle