Como instalar pacotes de snap por trás do proxy da web no Ubuntu 16.04

31

Eu sei como configurar o APT para usar um proxy da web. Mas e quanto a pressão?

Carlos Estrada
fonte

Respostas:

24

snapd/etc/environment, portanto, a configuração das variáveis ​​de ambiente proxy habituais funciona. No Ubuntu, isso é feito automaticamente por você em Configurações → Rede → Proxy de rede, desde que você reinicie snapdapós alterar o arquivo, você deve ser definido.

Chipaca
fonte
2
Sendo mais específico, o arquivo snapd.service está localizado aqui: /lib/systemd/system/snapd.service
julian-alarcon
1
@ Darkhole não se deve editar /lib/systemd/system/snapd.service, mas usar systemctl edit snapd.service. Veja minha resposta: askubuntu.com/questions/659267/…
muru
1
Bem, e se alguém quiser automatizar essa configuração?
Pmatulis
2
Lembre-se de que você precisará reiniciar o serviço snapd antes que essas alterações entrem em vigor.
Seth
2
O método que você postou aqui também não funciona com autenticação. O Snap deve usar apenas os envios normais $ http_proxy e $ https_proxy como todos os outros. Aqui está o link do bug tracker do ubuntu para esse problema.
Teque5
27

Uma opção do sistema foi adicionada no snap 2.28 para especificar o servidor proxy.

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

Documentação

Beta Kuang
fonte
1
Provavelmente essa deve ser a resposta aceita.
Mygod 22/06
Estou usando snap / snapd 2.34.2no Ubuntu 16.04.5 e essas opções não funcionam. Tinha que ir com askubuntu.com/a/1084862/75760 , alterando as configurações do systemd
hanxue
1
Esta deve ser a resposta aceita
sayem siam
10

Há outra maneira de adicionar variáveis ​​de ambiente aos serviços systemd:

Crie uma pasta para o snap daemon e crie arquivos de configuração para as variáveis ​​de 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

Depois disso, você pode verificar se as variáveis ​​de ambiente estão definidas 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
fonte
6

Snap usa snapddaemon. Você só precisa definir http_proxye https_proxyem /etc/environmente reinicie o serviço: systemctl restart snapd.

mmartin
fonte
2

O serviço de snap está configurado para usar um arquivo de ambiente especial, portanto, você pode adicionar a variável http_proxy a ele se suas variáveis ​​de ambiente atuais não forem selecionadas pelo snap.

Abrir arquivo:

sudo vim /etc/sysconfig/snapd

Adicionar:

http_proxy=http://127.0.0.1:3128
https_proxy=http://127.0.0.1:3128
Alexander
fonte
Não há sysconfigpastas no Ubuntu.
smartmouse 18/11
1

Cuidado, porque o snapd lê o arquivo / etc / environment em vez de obter a variável ENV. Este exemplo abaixo não funciona:

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

você tem que usar:

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