So installieren Sie Snap-Pakete hinter dem Web-Proxy unter Ubuntu 16.04


31

Ich kann APT für die Verwendung eines Web-Proxys konfigurieren. Aber was ist mit Schnappen?

Antworten:


24

snapdliest /etc/environment, so dass das Setzen der üblichen Proxy-Umgebungsvariablen dort funktioniert. Unter Ubuntu geschieht dies automatisch über Einstellungen → Netzwerk → Netzwerk-Proxy. Solange Sie snapdnach dem Ändern dieser Datei einen Neustart durchführen , sollten Sie die Einstellungen vornehmen .


2
Genauer gesagt befindet sich die Datei snapd.service hier: /lib/systemd/system/snapd.service
julian-alarcon

1
@darkhole sollte man nicht bearbeiten /lib/systemd/system/snapd.service, sondern benutzen systemctl edit snapd.service. Siehe meine Antwort: askubuntu.com/questions/659267/…
muru

1
Was ist, wenn man diese Konfiguration automatisieren möchte?
Pmatulis

2
Denken Sie daran, dass Sie den snapd-Dienst neu starten müssen, damit diese Änderungen wirksam werden.
Seth

2
Die Methode, die Sie hier gepostet haben, funktioniert auch nicht mit der Authentifizierung. Snap sollte nur die normalen env-Dateien $ http_proxy und $ https_proxy verwenden, wie alle anderen auch. Hier ist der Ubuntu Bug Tracker Link für dieses Problem.
Teque5

27

In Snap 2.28 wurde eine Systemoption hinzugefügt, um den Proxy-Server anzugeben.

$ sudo snap set system proxy.http="http://<proxy_addr>:<proxy_port>"
$ sudo snap set system proxy.https="http://<proxy_addr>:<proxy_port>"

Dokumentation


1
Dies sollte wahrscheinlich die akzeptierte Antwort sein.
Mygod

Ich verwende snap / snapd 2.34.2unter Ubuntu 16.04.5 und diese Optionen funktionieren nicht. Musste mit askubuntu.com/a/1084862/75760 gehen und die systemd Einstellungen
ändern

1
Dies sollte die akzeptierte Antwort sein
sayem siam

10

Es gibt eine andere Möglichkeit, Umgebungsvariablen zu systemd-Diensten hinzuzufügen:

Erstellen Sie einen Ordner für den Snap-Daemon und erstellen Sie Konfigurationsdateien für die Umgebungsvariablen:

$ sudo mkdir -p /etc/systemd/system/snapd.service.d/
$ echo -e '[Service]\nEnvironment="http_proxy=http://1.2.3.4:3128/"' \
      | sudo tee /etc/systemd/system/snapd.service.d/http-proxy.conf
$ echo -e '[Service]\nEnvironment="https_proxy=http://1.2.3.4:3128/"' \
      | sudo tee /etc/systemd/system/snapd.service.d/https-proxy.conf
$ sudo systemctl daemon-reload
$ sudo systemctl restart snapd

Danach können Sie überprüfen, ob die Umgebungsvariablen für Folgendes festgelegt sind snapd:

$ systemctl show snapd | grep proxy
  Environment=http_proxy=http://1.2.3.4:3128/ https_proxy=http://1.2.3.4:3128/
  DropInPaths=/etc/systemd/system/snapd.service.d/http-proxy.conf /etc/systemd/system/snapd.service.d/https-proxy.conf

6

Snap verwendet einen snapdDaemon. Sie müssen nur definieren , http_proxyund https_proxyin /etc/environmentund starten Sie den Dienst: systemctl restart snapd.


2

Der Snap-Service ist für die Verwendung einer speziellen Umgebungsdatei konfiguriert. Sie können also einfach eine http_proxy-Variable hinzufügen, wenn Ihre aktuellen Umgebungsvariablen nicht vom Snap erfasst werden.

Datei öffnen:

sudo vim /etc/sysconfig/snapd

Hinzufügen:

http_proxy=http://127.0.0.1:3128
https_proxy=http://127.0.0.1:3128

Es gibt kein sysconfig Ordner auf Ubuntu.
Smartmouse


1

Seien Sie vorsichtig, da der Snapd die Datei / etc / environment liest, anstatt die Variable ENV abzurufen. Das folgende Beispiel funktioniert nicht:

export https_proxy=http://<your.ip.here>:3128

du musst benutzen:

http://<your.ip.here>:3128
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.