Ich möchte SOCKS-Proxyeinstellungen zu /etc/apt/apt.conf hinzufügen. Was ist die Syntax dafür? Entspricht es der http- und ftp-Syntax?
Vielen Dank.
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
sudo tsocks apt-get install tsocks
. Hahahahahaha ...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 dashttp
durch ersetztsocks
- und es funktioniert!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.
quelle
Acquire::https::proxy "socks5h://server:port";
zu einerapt.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 wirdsocks5h
die DNS-Auflösung auf dem Proxy-Server erzwungen.Die Verwendung der nächsten Konfigurationszeile funktioniert für mich:
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.quelle
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:
und stellen Sie dann den http-Proxy in Ihrer apt.conf-Datei ein:
quelle
Oder tou kann in deine /etc/apt/apt.conf so etwas einfügen:
quelle
Acquire::http::proxy "socks://user:pass@host:port/";
Acquire::socks
zum Festlegen des Proxys für URLs dient, die mit beginnensocks://
. Das heißt also Sie nicht über einen Proxy müssen auf das Internet zuzugreifen, undapt
verwendet keine Proxy fürftp://
,http://
oderhttps://
..apt
unterstützt nur HTTP - Proxies, dhAcquire::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, setzenim
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>
oderssh -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.quelle