Warum verwendet apt-get immer einen Proxy, obwohl kein Proxy konfiguriert ist?

26

Ich versuche, den Proxy für zu deaktivieren, apt-getaber es scheint, als würde apt-geter die Proxy-Konfiguration von einer anderen Stelle erhalten /etc/apt/apt.conf, denn obwohl die apt.confDatei leer ist (und der System-Proxy auf eingestellt ist None), wird immer noch versucht, eine Verbindung zum Proxy herzustellen.

Hat jemand eine Idee?

Ahatius
quelle

Antworten:

32

Ich benutze ein Skript, um verschiedene Konfigurationsdateien zu ersetzen, um einfach zwischen Proxy- und Nicht-Proxy-Umgebungen zu wechseln. Das Problem war, dass ich die Proxy-Datei apt.conf durch eine leere apt.conf-Datei ersetzt habe, die dann ignoriert wurde.

Nach dem Schreiben Acquire::http::Proxy "false";in die apt.conf hat es ohne Proxy geklappt :)

Ahatius
quelle
Es ist Arbeit! Deaktivierte den Proxy mit apt.conf.
Chu-Siang Lai
1
Ich habe in meinem Fall einfach die 95proxy.conf-Datei aus /etc/apt/apt.conf.d/ entfernt, aber besser gesagt: D Danke.
m3nda
wo ist diese apt.conf datei
Lost Crotchet
@LostCrotchet/etc/apt/apt.conf
Ahatius
12

Manchmal gibt es Proxy-Umgebungsvariablen, die noch festgelegt sind.

Führen Sie den folgenden Befehl aus, um dies herauszufinden:

env | grep proxy

Wenn Sie eine Ausgabe sehen, zum Beispiel:

http_proxy=http://127.0.0.1:1234/

Dann müssen Sie diese Variable deaktivieren.

Führen Sie dazu den folgenden Befehl aus:

unset http_proxy

Gehen Sie bei allen anderen Einträgen wie z https_proxy.

Alaa Ali
quelle
1
Vielen Dank für den Hinweis, leider sind sowohl der http- als auch der https-Proxy leer: \
Ahatius
Hmm. Interessant. Ich bezweifle es zwar, aber vielleicht ist die Variable HTTP_PROXY( env | grep -i proxy (-iGroß- und Kleinschreibung wird nicht berücksichtigt) und es wird geprüft, ob eine Ausgabe vorliegt. es ist einen Versuch wert = /. Kannst du das auch grep -iR proxy /etc/apt/? Dadurch wird in allen Dateien unter nach dem Wort Proxy gesucht /etc/apt/, da der Proxy manchmal in einer Datei unter festgelegt ist /etc/apt/apt.conf.d/.
Alaa Ali
Es hat auch nichts damit zu tun, dass der Proxy vollständig begrenzt ist. Beim Ausführen des Befehls grep wurde auch keine andere Datei angezeigt, die eine Proxy-Konfiguration enthält.
Ahatius
Ok, ich glaube ich habe es verstanden. Ich verwende ein Skript, um alle Konfigurationsdateien für Proxys zu wechseln. Das Problem war, dass ich die apt.conf durch eine leere Datei ersetzt habe. Apt hat dann natürlich immer die letzte Proxy-Konfiguration geladen, da der Proxy-Wert nicht auf false gesetzt wurde. Trotzdem vielen Dank für Ihre Bemühungen!
Ahatius
Maype der Proxy env hat Einzug gehalten /etc/environment, also können wir hier suchen.
Chu-Siang Lai
4

Es gibt nicht nur einen Ort, an dem apt-get Konfigurationsdateien liest. Sie sollten ausführen grep -i proxy /etc/apt/apt.conf.d/*und es wird Ihnen die genaue Datei mit den Proxy-Einstellungen angezeigt (dies ist nur ein Beispiel, das updatestattdessen ausgeführt wird proxy:

grep -i update /etc/apt/apt.conf.d/*
/etc/apt/apt.conf.d/20apt-show-versions:// When Apt's cache is updated (i.e. apt-cache update)
/etc/apt/apt.conf.d/20packagekit:// Whenever dpkg is called we might have different updates
/etc/apt/apt.conf.d/20packagekit:// i.e. if an user removes a package that had an update
/etc/apt/apt.conf.d/20packagekit:"/usr/bin/test -e /usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service && /usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call --system --dest org.freedesktop.PackageKit --object-path /org/freedesktop/PackageKit --timeout 1 --method org.freedesktop.PackageKit.StateHasChanged cache-update > /dev/null; /bin/echo > /dev/null";
/etc/apt/apt.conf.d/20packagekit:// When Apt's cache is updated (i.e. apt-cache update)
/etc/apt/apt.conf.d/20packagekit:"/usr/bin/test -e /usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service && /usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call --system --dest org.freedesktop.PackageKit --object-path /org/freedesktop/PackageKit --timeout 1 --method org.freedesktop.PackageKit.StateHasChanged cache-update > /dev/null; /bin/echo > /dev/null";
Braiam
quelle
Dies reicht nicht aus, die Datei /etc/apt/apt.confkann auch Proxy-Informationen enthalten. Es kann auch mit Großbuchstaben geschrieben werden.
Kap
3

Wenn Sie keinen apt-getProxy verwenden möchten , verwenden Sie apt-getals:

sudo apt-get -o Acquire::http::proxy=false <update/install> 
Prashant Adlinge
quelle
2

Es ist möglich, dass die Umgebungsvariable http_proxy auf einen Proxy gesetzt ist. versuche die Variable zu löschen (oder sieh zumindest nach, ob sie einen Wert hat)

Aviran
quelle
2

Eine blöde Art, es zum Laufen zu bringen, ist, den Proxy für eine Weile zu deaktivieren system settings > Network.

Oder entfernen Sie die Proxy-Konfiguration von /etc/environmentund/etc/apt/apt.conf

Bildbeschreibung hier eingeben

Und fügen Sie die manuelle Proxy-Konfiguration wieder hinzu, sobald Sie einen Proxy benötigen.

Gebet
quelle
Dies hat funktioniert und ist wirklich einfach zu folgen :)
Ankit Shubham