如何在 Ubuntu 16.04 上的 Web 代理后面安装 snap 包

Car*_*ada 50 proxy 16.04 snap

我知道如何配置 APT 以使用网络代理。但是快照呢?

小智 87

在 snap 2.28 中添加了一个系统选项来指定代理服务器。

$ sudo snap set system proxy.http="http://<proxy_addr>:<proxy_port>"
$ sudo snap set system proxy.https="http://<proxy_addr>:<proxy_port>"
Run Code Online (Sandbox Code Playgroud)

文档

  • 这应该是公认的答案。 (2认同)

Chi*_*aca 27

snapd读取/etc/environment,因此在那里设置通常的代理环境变量是有效的。在 Ubuntu 上,这是由 Settings 自动为您完成的吗?网络 ?网络代理,因此只要您snapd在更改该文件后重新启动就应该设置。

  • 您在此处发布的方法也不适用于身份验证。Snap 应该像其他人一样使用普通的 $http_proxy 和 $https_proxy 环境变量。[这是 ubuntu 错误跟踪器链接](https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1579652) 此问题。 (3认同)
  • 更具体地说,snapd.service 文件位于:/lib/systemd/system/snapd.service (2认同)
  • 请记住,在这些更改生效之前,您需要重新启动 snapd 服务。 (2认同)

Sim*_*ler 11

还有另一种向 systemd 服务添加环境变量的方法:

为 snap 守护进程创建一个文件夹并为环境变量创建配置文件:

$ 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
Run Code Online (Sandbox Code Playgroud)

之后,您可以检查是否为以下设置了环境变量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
Run Code Online (Sandbox Code Playgroud)


小智 8

Snap 使用snapd守护进程。你只需要定义http_proxyhttps_proxy/etc/environment并重新启动服务:systemctl restart snapd