Comment installer des packages snap derrière un proxy Web sur Ubuntu 16.04


31

Je sais comment configurer APT pour utiliser un proxy Web. Mais qu'en est-il de la rupture?

Réponses:


24

snapdlit /etc/environment, donc la définition des variables d'environnement proxy habituelles fonctionne. Sur Ubuntu, cela se fait automatiquement pour vous par Paramètres → Réseau → Proxy réseau, donc tant que vous redémarrez snapdaprès avoir changé ce fichier, vous devez être défini.


2
Plus précis, le fichier snapd.service se trouve ici: /lib/systemd/system/snapd.service
julian-alarcon

1
@darkhole on ne devrait pas éditer /lib/systemd/system/snapd.service, mais utiliser systemctl edit snapd.service. Voir ma réponse: askubuntu.com/questions/659267/…
muru

1
Et si on veut automatiser cette configuration?
pmatulis

2
N'oubliez pas que vous devrez redémarrer le service snapd avant que ces modifications prennent effet.
Seth

2
La méthode que vous avez publiée ici ne fonctionne pas non plus avec l'authentification. Snap devrait simplement utiliser les vars env $ http_proxy et $ https_proxy normaux comme tout le monde. Voici le lien de suivi des bogues ubuntu pour ce problème.
Teque5

27

Une option système a été ajoutée dans le snap 2.28 pour spécifier le serveur proxy.

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

Documentation


1
Cela devrait probablement être la réponse acceptée.
Mygod

J'utilise snap / snapd 2.34.2sur Ubuntu 16.04.5 et ces options ne fonctionnent pas. J'ai dû aller avec askubuntu.com/a/1084862/75760 , changer les paramètres systemd
hanxue

1
Cela devrait être la réponse acceptée
sayem siam

10

Il existe une autre façon d'ajouter des variables d'environnement aux services systemd:

Créez un dossier pour le démon snap et créez des fichiers de configuration pour les variables d'environnement:

$ 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

Après cela, vous pouvez vérifier si les variables d'environnement sont définies pour 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 utilise le snapddémon. Il vous suffit de définir http_proxyet https_proxydans /etc/environmentet redémarrez le service: systemctl restart snapd.


2

Le service d'accrochage est configuré pour utiliser un fichier d'environnement spécial, vous pouvez donc simplement y ajouter la variable http_proxy si vos variables d'environnement actuelles ne sont pas récupérées par l'accrochage.

Fichier ouvert:

sudo vim /etc/sysconfig/snapd

Ajouter:

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

Il n'y a pas de sysconfigdossier sur Ubuntu.
smartmouse


1

Soyez prudent, car le snapd lit le fichier / etc / environment au lieu d'obtenir la variable ENV. Cet exemple ci-dessous ne fonctionne pas:

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

vous devez utiliser:

http://<your.ip.here>:3128
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.