apt-get behind proxy di VirtualBox Ubuntu

Jawaban:

8
http_proxy="http://host:port" apt-get something

harus bekerja.

Jika Anda memerlukan otentikasi, coba

http_proxy="http://user:pass@host:port" apt-get something

Dan jika Anda ingin ini menjadi permenant, Anda mungkin harus mengatur variabel http_proxy (dan ftp_proxy?) Di Anda ~/.bashrcsehingga semua aplikasi Anda yang memiliki proxy dapat bekerja di masa depan, misalnya 'wget'.

Mahal
sumber
2
satu hal lagi yang perlu diperhatikan adalah bahwa jika kata sandi berisi '@' kemudian ganti dengan '% 40' (tanpa tanda kutip), jika tidak maka kata sandi tidak akan berfungsi
dotslash
8

di /etc/apt/apt.conf, tambahkan baris:

Acquire::http::Proxy "http://MYDOMAIN\MYNAME:[email protected]:MYPORT"

Dari: http://ubuntuforums.org/showthread.php?t=96802

(Catatan: sepenuhnya dicuri dari jawaban ini untuk pertanyaan serupa saya di SF. Dikreditkan ke Grizzly )

squillman
sumber
Garis harus diakhiri dengan;
Verma
Nama file saya berbeda tetapi inilah yang bekerja untuk saya/etc/apt/apt.conf.d/01proxy
Jackie
4

Sebuah proxy ditentukan dengan menetapkan http_proxy, ftp_proxydan all_proxylingkungan variabel, baik secara lokal (misalnya dalam ~/.bashrc) atau global (misalnya dalam /etc/bash.bashrc). Pengaturan ini dihormati oleh hampir semua paket net-software (seperti apt-get, wget, curl, dll.):

# HTTP proxy without authentification
export http_proxy="http://host:port"
# HTTP proxy with authentification
export http_proxy="http://user:pass@host:port"

Namun, mengaturnya dengan cara ini tidak membantu saat berjalan sudo apt-get ...- dan itu karena baris ini di /etc/sudoers:

Defaults env_reset

Baris ini me - reset semua variabel lingkungan saat menggunakan sudo, untuk alasan keamanan. Untuk menjaga nilai-nilai http_proxydll. Dalam sudodoa, Anda dapat menentukan pengecualian env_resetmelalui env_keep:

# Exception specific to the command apt-get
Defaults!/usr/bin/apt-get env_keep="http_proxy https_proxy ftp_proxy"
# Exception specific to the user joe
Defaults:joe env_keep="http_proxy https_proxy ftp_proxy"

Dengan cara ini, Anda bisa apt-getmenghormati pengaturan global untuk http_proxy, alih-alih menduplikasi pengaturan untuk apt-getdalam beberapa file konfigurasi apt-spesifik misterius.

DevSolar
sumber
Ini adalah jawaban yang sebenarnya menurut saya, karena Anda akan selalu menggunakan sudo apt-get ...apa pun. Jadi tanpa entri ini /etc/sudoers, itu tidak akan berfungsi.
mliebelt
Ini env_resetline adalah /etc/sudoersbenar-benar penting!
Ari
1
@ Ari: Ya itu; itulah sebabnya saya menunjukkan cara menonaktifkannya secara khusus untuk apt-getdan secara khusus untuk variabel-variabel yang diperlukan, alih-alih mengatakan "cukup hapus baris".
DevSolar
@DevSolar: ya, dan tambah 1 untuk itu!
Ari