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?

Carlos Estrada
sumber

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.

Chipaca
sumber
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

Beta Kuang
sumber
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
Simon Sudler
sumber
6

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

mmartin
sumber
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
Alexander
sumber
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
Zoltan Szabo
sumber