Mengapa apt-get selalu menggunakan proxy, meskipun tidak ada proxy yang dikonfigurasi?

26

Saya mencoba untuk menonaktifkan proxy untuk apt-gettetapi sepertinya apt-getmendapatkan konfigurasi proxy itu dari tempat lain selain /etc/apt/apt.conf, karena meskipun apt.conffile kosong (dan proxy sistem diatur ke None) itu masih mencoba untuk terhubung ke proxy.

Adakah yang punya ide?

Ahatius
sumber

Jawaban:

32

Saya menggunakan skrip untuk mengganti file konfigurasi yang berbeda agar dapat dengan mudah beralih antara lingkungan proxy dan non-proxy. Masalahnya adalah saya mengganti file apt.conf proxy dengan file apt.conf yang kosong, yang kemudian diabaikan oleh apt.

Setelah menulis Acquire::http::Proxy "false";ke dalam apt.conf itu bekerja tanpa proxy :)

Ahatius
sumber
Ini bekerja! Menonaktifkan Proxy dengan apt.conf.
Chu-Siang Lai
1
Saya kasus saya bekerja cukup menghapus file 95proxy.conf dari /etc/apt/apt.conf.d/ tetapi lebih baik untuk eksplisit: D terima kasih.
m3nda
Di mana file apt.conf ini?
Lost Crotchet
@LostCrotchet/etc/apt/apt.conf
Ahatius
12

Terkadang, ada variabel lingkungan proxy yang masih ditetapkan.

Untuk mengetahuinya, lakukan perintah berikut:

env | grep proxy

Jika Anda melihat beberapa output, misalnya:

http_proxy=http://127.0.0.1:1234/

Maka Anda harus menghapus variabel ini.

Untuk melakukannya, jalankan perintah berikut:

unset http_proxy

Ikuti pendekatan yang sama untuk semua entri lainnya, seperti https_proxy.

Alaa Ali
sumber
1
Terima kasih atas petunjuknya, sayangnya baik http dan proksi https kosong: \
Ahatius
Hmm. Menarik. Meskipun saya meragukannya, tapi mungkin variabelnya adalah HTTP_PROXY(semua huruf besar), jadi coba env | grep -i proxy (-imaksudkan "case sensitive"), dan lihat apakah ada output; ini patut dicoba = /. Bisakah Anda melakukannya grep -iR proxy /etc/apt/? Ini mencari kata proksi di semua file di bawah /etc/apt/, karena proksi kadang-kadang diatur dalam file di bawah /etc/apt/apt.conf.d/.
Alaa Ali
Itu juga tidak ada hubungannya dengan proxy menjadi semua huruf besar. Menjalankan perintah grep juga tidak mengungkapkan file lain yang berisi konfigurasi proxy.
Ahatius
Ok, saya rasa saya mengerti. Saya menggunakan skrip untuk mengalihkan semua file konfigurasi untuk proksi. Masalahnya adalah saya mengganti apt.conf dengan file kosong. Apt kemudian jelas selalu memuat konfigurasi proksi terakhir, karena nilai proksi tidak disetel ke false. Terima kasih atas upaya Anda!
Ahatius
Maype proxy env memiliki pengaturan /etc/environment, sehingga kami dapat mencari di sini.
Chu-Siang Lai
4

Tidak hanya ada satu tempat di mana file konfigurasi apt-get read. Anda harus menjalankan grep -i proxy /etc/apt/apt.conf.d/*dan itu akan memberi Anda file yang tepat yang memiliki pengaturan proxy (ini hanya contoh berjalan dengan updategantinya proxy:

grep -i update /etc/apt/apt.conf.d/*
/etc/apt/apt.conf.d/20apt-show-versions:// When Apt's cache is updated (i.e. apt-cache update)
/etc/apt/apt.conf.d/20packagekit:// Whenever dpkg is called we might have different updates
/etc/apt/apt.conf.d/20packagekit:// i.e. if an user removes a package that had an update
/etc/apt/apt.conf.d/20packagekit:"/usr/bin/test -e /usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service && /usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call --system --dest org.freedesktop.PackageKit --object-path /org/freedesktop/PackageKit --timeout 1 --method org.freedesktop.PackageKit.StateHasChanged cache-update > /dev/null; /bin/echo > /dev/null";
/etc/apt/apt.conf.d/20packagekit:// When Apt's cache is updated (i.e. apt-cache update)
/etc/apt/apt.conf.d/20packagekit:"/usr/bin/test -e /usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service && /usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call --system --dest org.freedesktop.PackageKit --object-path /org/freedesktop/PackageKit --timeout 1 --method org.freedesktop.PackageKit.StateHasChanged cache-update > /dev/null; /bin/echo > /dev/null";
Braiam
sumber
Ini tidak cukup, file /etc/apt/apt.confjuga dapat berisi informasi Proxy. Juga dapat ditulis dengan huruf kapital.
kap
3

Jika Anda tidak ingin apt-getmenggunakan proxy, gunakan apt-getsebagai:

sudo apt-get -o Acquire::http::proxy=false <update/install> 
Prashant Adlinge
sumber
2

Mungkin variabel lingkungan http_proxy diatur ke beberapa proksi. coba hapus variabel (atau setidaknya lihat apakah ada nilainya)

aviran
sumber
2

Cara bodoh untuk membuatnya berfungsi adalah menonaktifkan proxy untuk sementara waktu menggunakan system settings > Network .

Atau hapus konfigurasi proxy dari /etc/environmentdan/etc/apt/apt.conf

masukkan deskripsi gambar di sini

Dan tambahkan konfigurasi proxy manual kembali setelah Anda membutuhkan proxy kembali.

prayagupd
sumber
Ini berhasil dan sangat mudah diikuti :)
Ankit Shubham