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: username@urmia.ac.ir

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!

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:password@proxy.server: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:password@10.114.7.7:80";

Jika Anda harus menggunakan @simbol dalam nama pengguna Anda, Anda harus menghindarinya dengan backslash ( username@urmia.ac.ir)

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


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.


4

Ini harus menyelesaikan masalah Anda:

export http_proxy=http://username:password@10.114.7.7:80/

EXPORT HTTP_proxy=http://username:password@10.114.7.7: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
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.