Bagaimana cara menggunakan "apt-get" melalui "Http-proxy" seperti ini?

20

Saya mencoba menggunakan apt-getperintah pada jaringan yang menggunakan proxy, seperti ini:

Kami menggunakan 10.114.7.7 pada port 80 sebagai Http-proxy, dan setelah itu jendela otentikasi muncul, menanyakan nama pengguna dan kata sandi.

Nama Pengguna / Domain kami adalah seperti ini: [email protected]

Saya bertanya-tanya, bagaimana saya bisa menggunakannya http_proxy=http://User:Pass@Proxyserver:Portdalam situasi ini !? Saya juga mencoba keduanya, 10.114.7.7 dan urmia.ac.ir sebagai server Proxy tetapi tidak ada hasil!

Mcferry
sumber

Jawaban:

35

Untuk menggunakan apt-get melalui proxy, buat file dengan /etc/apt/apt.conf.d/nama proxy atau sesuatu yang akan Anda kenali, atau buat (jika tidak ada) /etc/apt/apt.confdan masukkan baris berikut:

Acquire::http::Proxy "http://username:[email protected]:port/";

Cukup ganti nama pengguna dan kata sandi dengan detail login Anda, dan ganti proxy.server: port dengan alamat yang benar (dalam kasus Anda, 10.114.7.7:80), sehingga baris Anda akan berakhir seperti ini:

Acquire::http::Proxy "http://username:[email protected]:80";

Jika Anda harus menggunakan @simbol dalam nama pengguna Anda, Anda harus menghindarinya dengan backslash ( [email protected])

Sementara melarikan diri karakter dengan menggunakan serangan balik tidak berfungsi (misalnya \@dalam exportdan wget), karakter khusus dapat lolos dengan pengkodean URL. Misalnya, username:my@[email protected]:portmenjadi username:my%[email protected]:port. Lihat daftar karakter yang dikodekan URL ini untuk informasi lebih lanjut.

Jase
sumber
Solusi yang diusulkan untuk menambahkan entri proxy di dalam / etc / apt bekerja untuk saya, tetapi saya perhatikan bahwa jika server proxy Anda menyimpan cache kredensial, Anda dapat menghindari menanamkan kredensial Anda dalam file konfigurasi dengan hanya mengautentikasi melalui server proxy Anda dalam proses yang berbeda ( misal browser web di Windows), sebelum menjalankan perintah apt di bash shell Anda. Dengan melakukan ini saya dapat menentukan entri proxy di dalam / etc / apt sebagai " server: port " alih-alih " nama pengguna: kata sandi @ server: port ".
Peter Sanza
6

Atau, Anda dapat menempatkan yang berikut di /etc/apt/apt.conf

Acquire::http::Proxy "http://proxy.server.port:8080";

8080 adalah nomor port dan saya pikir standar.

Jangan lupa tanda kutip atau tanda titik koma.

Justin Peter
sumber
4

Ini harus menyelesaikan masalah Anda:

export http_proxy=http://username:[email protected]:80/
Abasi Bo
sumber
EXPORT HTTP_proxy=http://username:[email protected]:80/dijalankan di hasil Bash di EXPORT: command not found.
David Foerster
Ekspor dan http dalam huruf kecil. Bash peka huruf besar-kecil. Kalau tidak, itu akan berhasil. Setidaknya itu sudah bekerja untuk saya selama dua tahun.
s3lph
6
bekerja untuk curl, tetapi tidak untuk apt.
FGM