Come installare i pacchetti di snap dietro il proxy Web su Ubuntu 16.04


Risposte:


24

snapdlegge /etc/environment, quindi l'impostazione delle solite variabili di ambiente proxy lì funziona. Su Ubuntu, questo viene fatto automaticamente per te da Impostazioni → Rete → Proxy di rete, quindi finché riavvii snapddopo aver modificato quel file dovresti essere impostato.


2
Essendo più specifico, il file snapd.service si trova qui: /lib/systemd/system/snapd.service
julian-alarcon

1
@darkhole non si dovrebbe modificare /lib/systemd/system/snapd.service, ma usare systemctl edit snapd.service. Vedi la mia risposta: askubuntu.com/questions/659267/…
muru,

1
E se si volesse automatizzare questa configurazione?
pmatulis,

2
Ricordare che sarà necessario riavviare il servizio snapd prima che queste modifiche abbiano effetto.
Seth,

2
Anche il metodo che hai pubblicato qui non funziona con l'autenticazione. Snap dovrebbe semplicemente usare i normali $ http_proxy e $ https_proxy env come tutti gli altri. Ecco il link tracker bug di Ubuntu per questo problema.
Teque5

27

È stata aggiunta un'opzione di sistema nello snap 2.28 per specificare il server proxy.

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

Documentazione


1
Questa dovrebbe probabilmente essere la risposta accettata.
Mygod,

Sto usando snap / snapd 2.34.2su Ubuntu 16.04.5 e queste opzioni non funzionano. Dovevo andare con askubuntu.com/a/1084862/75760 , cambiando le impostazioni di systemd
hanxue

1
Questa dovrebbe essere la risposta accettata
sayem siam

10

C'è un altro modo per aggiungere variabili d'ambiente ai servizi systemd:

Creare una cartella per il demone snap e creare file di configurazione per le variabili di ambiente:

$ 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

Successivamente è possibile verificare se le variabili di ambiente sono impostate per 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 usa il snapddemone. Hai solo bisogno di definire http_proxye https_proxydi /etc/environmente riavviare il servizio: systemctl restart snapd.


2

Il servizio snap è configurato per utilizzare un file di ambiente speciale, quindi è possibile aggiungere ad esso solo la variabile http_proxy se le variabili di ambiente correnti non vengono rilevate dallo snap.

Apri il file:

sudo vim /etc/sysconfig/snapd

Inserisci:

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

Non c'è sysconfigcartella su Ubuntu.
smartmouse il


1

Fai attenzione, perché lo snapd legge il file / etc / environment invece di ottenere la variabile ENV. Questo esempio di seguito non funziona:

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

devi usare:

http://<your.ip.here>:3128
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.