Cách cài đặt các gói snap phía sau proxy web trên Ubuntu 16.04


31

Tôi biết cách định cấu hình APT để sử dụng proxy web. Nhưng những gì về snap?

Câu trả lời:


24

snapdđọc /etc/environment, do đó, thiết lập các biến môi trường proxy thông thường ở đó hoạt động. Trên Ubuntu, điều đó được thực hiện tự động cho bạn bằng Cài đặt → Mạng → Proxy mạng, miễn là bạn khởi động lại snapdsau khi thay đổi tệp đó, bạn sẽ được đặt.


2
Cụ thể hơn, tệp snapd.service được đặt tại đây: /lib/systemd/system/snapd.service
julian-alarcon

1
@darkhole người ta không nên chỉnh sửa /lib/systemd/system/snapd.service, nhưng sử dụng systemctl edit snapd.service. Xem câu trả lời của tôi: askubuntu.com/questions/659267/...
muru

1
Nếu ai muốn tự động hóa cấu hình này thì sao?
pmatulis

2
Hãy nhớ rằng, bạn sẽ cần phải khởi động lại dịch vụ snapd trước khi những thay đổi này có hiệu lực.
Seth

2
Phương pháp bạn đã đăng ở đây cũng không hoạt động với xác thực. Snap chỉ nên sử dụng các vars $ http_proxy và $ https_proxy bình thường như mọi người khác. Dưới đây là liên kết theo dõi lỗi ubfox cho vấn đề này.
Teque5

27

Một tùy chọn hệ thống đã được thêm vào trong snap 2.28 để chỉ định máy chủ proxy.

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

Tài liệu


1
Đây có lẽ nên là câu trả lời được chấp nhận.
Mygod

Tôi đang sử dụng snap / snapd 2.34.2trên Ubuntu 16.04.5 và các tùy chọn này không hoạt động. Phải đi với Askubfox.com/a/1084862/75760 , thay đổi cài đặt systemd
hanxue

1
Đây phải là câu trả lời được chấp nhận
sayem siam

10

Có một cách khác để thêm các biến môi trường vào các dịch vụ systemd:

Tạo một thư mục cho snap daemon và tạo các tệp cấu hình cho các biến môi trường:

$ 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

Sau đó, bạn có thể kiểm tra xem các biến môi trường có được đặt cho 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 sử dụng snapddaemon. Bạn chỉ cần xác định http_proxyhttps_proxytrong /etc/environmentvà khởi động lại dịch vụ : systemctl restart snapd.


2

Dịch vụ Snap được cấu hình để sử dụng tệp môi trường đặc biệt, vì vậy bạn chỉ cần thêm biến http_proxy vào nó nếu các biến môi trường hiện tại của bạn không được chọn bởi snap.

Mở tệp:

sudo vim /etc/sysconfig/snapd

Thêm vào:

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

Không có sysconfigthư mục trên Ubuntu.
smartmouse


1

Hãy cẩn thận, vì snapd đọc tệp / etc / môi trường thay vì lấy biến ENV. Ví dụ dưới đây không hoạt động:

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

bạn phải sử dụng:

http://<your.ip.here>:3128
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.