Pourquoi apt-get utilise-t-il toujours un proxy, alors qu'aucun proxy n'est configuré?

26

J'essaie de désactiver le proxy pour apt-getmais il semble que apt-getsa configuration de proxy soit obtenue ailleurs /etc/apt/apt.conf, car bien que le apt.conffichier soit vide (et le proxy système défini sur None), il essaie toujours de se connecter au proxy.

Quelqu'un a une idée?

Ahatius
la source

Réponses:

32

J'utilise un script pour remplacer différents fichiers de configuration afin de basculer facilement entre les environnements proxy et non proxy. Le problème était que j'ai remplacé le fichier proxy apt.conf par un fichier apt.conf vide, qui a ensuite été ignoré.

Après avoir écrit Acquire::http::Proxy "false";dans apt.conf, cela a fonctionné sans proxy :)

Ahatius
la source
C'est du travail! Désactivé le proxy avec apt.conf.
Chu-Siang Lai
1
Im mon cas a fonctionné simplement en supprimant le fichier 95proxy.conf de /etc/apt/apt.conf.d/ mais mieux à explicite: D merci.
m3nda
où est ce fichier apt.conf?
Lost Crotchet du
@LostCrotchet/etc/apt/apt.conf
Ahatius
12

Parfois, il existe des variables d'environnement proxy qui sont toujours définies.

Pour le savoir, exécutez la commande suivante:

env | grep proxy

Si vous voyez une sortie, par exemple:

http_proxy=http://127.0.0.1:1234/

Ensuite, vous devrez désactiver cette variable.

Pour ce faire, exécutez la commande suivante:

unset http_proxy

Suivez la même approche pour toutes les autres entrées, telles que https_proxy.

Alaa Ali
la source
1
Merci pour l'indication, malheureusement, le proxy http et https sont vides: \
Ahatius
Hmm. Intéressant. Bien que j'en doute, mais peut-être que la variable est HTTP_PROXY(toutes majuscules), alors essayez de env | grep -i proxy (-isignifier "insensible à la casse"), et voyez s'il y a une sortie; ça vaut la peine d'essayer = /. Pouvez-vous aussi le faire grep -iR proxy /etc/apt/? Cela recherche le mot proxy dans tous les fichiers sous /etc/apt/, car le proxy est parfois défini dans un fichier sous /etc/apt/apt.conf.d/.
Alaa Ali
Cela n'a pas non plus à voir avec le proxy étant toutes les majuscules. L'exécution de la commande grep n'a également révélé aucun autre fichier contenant une configuration proxy.
Ahatius
Ok, je pense que je l'ai. J'utilise un script pour changer tous les fichiers de configuration pour les proxys. Le problème était que j'ai remplacé apt.conf par un fichier vide. Apt a alors évidemment toujours chargé la dernière configuration de proxy, car la valeur de proxy n'était pas définie sur false. Merci quand même pour vos efforts!
Ahatius
Maype le proxy env a mis en place /etc/environment, donc nous pouvons chercher ici.
Chu-Siang Lai
4

Il n'y a pas qu'un seul endroit où apt-get lit les fichiers de configuration. Vous devez exécuter grep -i proxy /etc/apt/apt.conf.d/*et il vous donnera le fichier exact qui a les paramètres de proxy (ceci est juste un exemple fonctionnant avec à la updateplace 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
la source
Cela ne suffit pas, le fichier /etc/apt/apt.confpeut également contenir des informations de proxy. Il peut également être écrit en majuscule.
kap
3

Si vous ne souhaitez apt-getpas utiliser de proxy, utilisez apt-getcomme:

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

Il est possible que la variable d'environnement http_proxy soit définie sur un proxy. essayez d'effacer la variable (ou du moins regardez si elle a une valeur)

aviran
la source
2

Une façon stupide de le faire fonctionner est de désactiver le proxy pendant un certain temps en utilisant system settings > Network.

Ou supprimez la configuration du proxy /etc/environmentet/etc/apt/apt.conf

entrez la description de l'image ici

Et ajoutez la configuration manuelle du proxy une fois que vous avez besoin du proxy.

Prayagupd
la source
Cela a fonctionné et est vraiment simple à suivre :)
Ankit Shubham