Cómo instalar paquetes snap detrás del proxy web en Ubuntu 16.04

31

Sé cómo configurar APT para usar un proxy web. ¿Pero qué hay de snap?

Carlos Estrada
fuente

Respuestas:

24

snapdlee /etc/environment, por lo que establecer las variables de entorno proxy habituales allí funciona. En Ubuntu, eso se hace automáticamente por Configuración → Red → Proxy de red, por lo que siempre que reinicie snapddespués de cambiar ese archivo, debería estar configurado.

Chipaca
fuente
2
Siendo más específico, el archivo snapd.service se encuentra aquí: /lib/systemd/system/snapd.service
julian-alarcon
1
@darkhole no se debe editar /lib/systemd/system/snapd.service, sino usar systemctl edit snapd.service. Vea mi respuesta: askubuntu.com/questions/659267/…
muru
1
Bueno, ¿y si uno quiere automatizar esta configuración?
pmatulis
2
Recuerde, deberá reiniciar el servicio snapd antes de que estos cambios surtan efecto.
Seth
2
El método que publicó aquí tampoco funciona con la autenticación. Snap solo debe usar los entornos normales $ http_proxy y $ https_proxy como todos los demás. Aquí está el enlace del rastreador de errores de ubuntu para este problema.
Teque5
27

Se agregó una opción del sistema en el complemento 2.28 para especificar el servidor proxy.

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

Documentación

Beta Kuang
fuente
1
Probablemente esta debería ser la respuesta aceptada.
Mygod
Estoy usando snap / snapd 2.34.2en Ubuntu 16.04.5 y estas opciones no funcionan. Tuve que ir con askubuntu.com/a/1084862/75760 , cambiar la configuración de systemd
hanxue
1
Esta debería ser la respuesta aceptada
sayem siam
10

Hay otra forma de agregar variables de entorno a los servicios systemd:

Cree una carpeta para el demonio snap y cree archivos de configuración para las variables de entorno:

$ 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

Después de eso, puede verificar si las variables de entorno están configuradas para 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
Simon Sudler
fuente
6

Snap usa snapddaemon. Sólo es necesario definir http_proxyy https_proxyen /etc/environmenty reiniciar el servicio: systemctl restart snapd.

mmartin
fuente
2

El servicio Snap está configurado para usar un archivo de entorno especial, por lo que puede agregarle la variable http_proxy si el complemento no selecciona sus variables de entorno actuales.

Abrir documento:

sudo vim /etc/sysconfig/snapd

Añadir:

http_proxy=http://127.0.0.1:3128
https_proxy=http://127.0.0.1:3128
Alejandro
fuente
No hay sysconfigcarpeta en Ubuntu.
smartmouse
1

Tenga cuidado, porque el snapd lee el archivo / etc / environment en lugar de obtener la variable ENV. Este ejemplo a continuación no funciona:

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

tienes que usar:

http://<your.ip.here>:3128
Zoltan Szabo
fuente