Antworten:
Eine mögliche Lösung kann die Verwendung tsocks
einer Anwendung sein, die den Netzwerkverkehr über einen Socks-Proxy umleiten kann. Installieren Sie das tsocks
Paket, ändern Sie es , um /etc/tsocks.conf
die Adresse und die Portnummer Ihres Socks-Proxys festzulegen, und führen Sie Folgendes aus:
$ sudo -s
# tsocks apt-get update
# tsocks apt-get dist-upgrade
# exit
$
oder
$ sudo -s
# . tsocks -on
# apt-get update
# apt-get dist-upgrade
# . tsocks -off # not really necessary, given the exit
# exit
$
Sie können sich eine Reihe von Optionen überlegen, um deren Verwendung zu vereinfachen und zu automatisieren.
Vergessen Sie nicht den führenden Punkt, die Manpage hat mehr Details dazu.
Bearbeiten : eine kürzere Möglichkeit, es zu verwenden:
$ sudo tsocks apt-get update
$ sudo tsocks apt-get dist-upgrade
tsocks
, um es herunterzuladen , zu installieren und dann zu verwenden :)
Acquire::http::Proxy "socks5h://hostname:port/"
. Siehe das Changelog unter anonscm.debian.org/gitweb/?p=apt/apt.git;a=blob;f=debian/…
apt-get something
!
Acquire::socks::Proxy "socks5h://hostname:port/";
macht den trick. Http nicht - versuchen Sie es mit Tor und Sie werden eine Standardantwort sehen "Tor ist kein http-Proxy", also wird das http
durch ersetzt socks
- und es funktioniert!
Acquire::http::proxy "socks5h://server:port";
Das funktioniert bei mir unter Ubuntu 18.04. Wie die Manpage sagt, wird socks5h, nicht socks5, von apt unterstützt, was bedeutet, dass socks5-Proxy DNS-fähig ist.
Acquire::https::proxy "socks5h://server:port";
zu einer apt.conf.d
Datei (wie /etc/apt/apt.conf.d/12proxy
) funktioniert einwandfrei. Ich würde empfehlen, sich an https zu halten, sofern nicht anders erforderlich.
Acquire::http::proxy "socks5h://user:pass@server:port";
. Die obige Regel funktioniert in Ubuntu 18.04 einwandfrei. Hier wird socks5h
die DNS-Auflösung auf dem Proxy-Server erzwungen.
Die Verwendung der nächsten Konfigurationszeile funktioniert für mich:
Acquire::socks::proxy "socks5://server:port";
Um apt.conf
sauber zu bleiben und Probleme beim Linux-Upgrade zu vermeiden, habe ich eine neue Datei ( /etc/apt/apt.conf.d/12proxy
) erstellt und die Konfigurationsdatei hinzugefügt.
Ich konnte auf Acquire :: socks :: proxy im Handbuch apt.conf von Ubuntu Xenial nichts finden . Sie können dies beheben, indem Sie einen lokalen HTTP-Proxy ausführen, der den Upstream-Socks-Proxy unterstützt, z. B. Polipo. Sie müssen Polipo wie folgt konfigurieren:
proxyAddress = "::1"
proxyPort = 8118
socksParentProxy = "sockshost:socksport"
socksProxyType = socks5
und stellen Sie dann den http-Proxy in Ihrer apt.conf-Datei ein:
Acquire::http::proxy "http://127.0.0.1:8118/";
Acquire::https::proxy "https://127.0.0.1:8118/";
Oder tou kann in deine /etc/apt/apt.conf so etwas einfügen:
Acquire::socks::proxy "socks://user:pass@host:port/";
Acquire::http::proxy "socks://user:pass@host:port/";
Acquire::socks
zum Festlegen des Proxys für URLs dient, die mit beginnen socks://
. Das heißt also Sie nicht über einen Proxy müssen auf das Internet zuzugreifen, und apt
verwendet keine Proxy für ftp://
, http://
oder https://
.. apt
unterstützt nur HTTP - Proxies, dh Acquire::http::proxy "http://localhost:8118
.
In Debian können Sie die Manpage lesen apt-transport-http(1)
und nach unterstützten URI-Schemata suchen. Wie vorher geantwortet wurde, setzen
Acquire::http::proxy "socks5h://server:port";
im
/etc/apt/apt.conf.d/12proxy
Weitere Informationen zur APT-Konfiguration finden Sie in apt.conf(5)
und in den Beispielen /usr/share/doc/apt/examples/configure-index.gz
am Ende der Hilfeseite.
Dies kann kombiniert werden ssh -D <LOCAL PORT> <USER>@<HOST>
, um einen SOCKS-Proxy für ein anderes System zu erstellen, so dass apt den Proxy dann so verwenden kann, als ob alles auf dem Server entstanden wäre <HOST>
.
Wenn Sie ssh -D 0.0.0.0:<LOCAL PORT> <USER>@<HOST>
oder ssh -D [::]:<LOCAL PORT> <USER>@<HOST>
(für IPv6) verwenden, um anderen Systemen die Verwendung des SOCKS-Proxys auf allen Schnittstellen zu ermöglichen. Dies kann ein Sicherheitsrisiko oder ein Verstoß gegen (Unternehmens-) Richtlinien sein. Stellen Sie sicher, dass Sie wissen, was Sie tun.
sudo tsocks apt-get install tsocks
. Hahahahahaha ...