Cara menginstal paket snap di belakang proxy web di Ubuntu 16.04


31

Saya tahu cara mengkonfigurasi APT untuk menggunakan proxy web. Tapi bagaimana dengan snap?

Jawaban:


24

snapdberbunyi /etc/environment, jadi pengaturan variabel lingkungan proxy biasa di sana berfungsi. Di Ubuntu, itu dilakukan secara otomatis untuk Anda oleh Pengaturan → Jaringan → Proxy jaringan, jadi selama Anda memulai ulang snapdsetelah mengubah file itu, Anda harus diatur.


2
Menjadi lebih spesifik, file snapd.service berada di sini: /lib/systemd/system/snapd.service
julian-alarcon

1
@ lubang satu tidak boleh diedit /lib/systemd/system/snapd.service, tetapi gunakan systemctl edit snapd.service. Lihat jawaban saya: askubuntu.com/questions/659267/…
muru

1
Nah bagaimana jika seseorang ingin mengotomatisasi konfigurasi ini?
pmatulis

2
Ingat, Anda harus memulai kembali layanan snapd sebelum perubahan ini berlaku.
Seth

2
Metode yang Anda posting di sini juga tidak berfungsi dengan otentikasi. Snap seharusnya hanya menggunakan $ http_proxy normal dan $ https_proxy env vars seperti yang lainnya. Inilah tautan pelacak bug ubuntu untuk masalah ini.
Teque5

27

Opsi sistem ditambahkan di jepret 2.28 untuk menentukan server proxy.

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

Dokumentasi


1
Ini mungkin jawaban yang diterima.
Mygod

Saya menggunakan snap / snapd 2.34.2di Ubuntu 16.04.5 dan opsi ini tidak berfungsi. Harus pergi dengan askubuntu.com/a/1084862/75760 , mengubah pengaturan systemd
hanxue

1
Ini harus menjadi jawaban yang diterima
sayem siam

10

Ada cara lain untuk menambahkan variabel lingkungan ke layanan systemd:

Buat folder untuk snap daemon dan buat file konfigurasi untuk variabel lingkungan:

$ 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

Setelah itu, Anda dapat memeriksa apakah variabel lingkungan ditetapkan untuk 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

Jepret menggunakan snapddaemon. Anda hanya perlu mendefinisikan http_proxydan https_proxydi /etc/environmentdan restart layanan: systemctl restart snapd.


2

Layanan Snap dikonfigurasikan untuk menggunakan file lingkungan khusus, jadi Anda bisa menambahkan variabel http_proxy ke sana jika variabel lingkungan Anda saat ini tidak diambil oleh snap.

Membuka file:

sudo vim /etc/sysconfig/snapd

Menambahkan:

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

Tidak ada sysconfigfolder di Ubuntu.
smartmouse


1

Hati-hati, karena snapd membaca file / etc / environment alih-alih mendapatkan variabel ENV. Contoh di bawah ini tidak berfungsi:

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

Anda harus menggunakan:

http://<your.ip.here>:3128
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.