Comment exécuter "sudo apt-get update" via proxy en ligne de commande?

63

Dans mon bureau, je veux mettre à jour et télécharger via (wget) et ici, ils utilisent un proxy?

Comment puis-je le faire en ligne de commande?

    
posée Renjith G 15.10.2010 - 13:07
la source

7 réponses

74

Dans certaines versions, sudo est configuré de manière à ce que toutes les variables d’environnement soient toutes effacées lors de l’exécution de la commande. Pour conserver la valeur de votre lien et résoudre ce problème, vous devez éditer / etc / sudoers, exécutez:

visudo

Trouvez ensuite une ligne indiquant:

Defaults env_reset 

et ajouter après:

Defaults env_keep = "http_proxy ftp_proxy" 

Les choses vont commencer à fonctionner comme prévu.

Merci à kdogksu des forums Ubuntu pour trouver la solution pour cela.

Afin de corriger non seulement apt-get, mais aussi les utilitaires graphiques X11 sous la forme, par exemple, synaptic, mintintall, ...) la ligne suivante dans /etc/sudoers devrait faire l'affaire:

Defaults env_keep = "http_proxy https_proxy ftp_proxy DISPLAY XAUTHORITY"
    
réponse donnée paulo.albuquerque 29.12.2010 - 20:21
la source
33

Utilisez ceci.

[email protected]:~$ cat /etc/apt/apt.conf
Acquire::http::Proxy "http://Username:[email protected]:8080";

C'est ce que j'utilise. Fonctionne parfaitement.

Apt permet également de placer des paramètres individuels dans des fichiers sous /etc/apt/apt.conf.d/ , ce qui a exactement le même effet que ci-dessus, mais peut être plus facile à gérer si vous avez d'autres lignes dans le fichier .conf :

[email protected]:~$ cat /etc/apt/apt.conf.d/05proxy
Acquire::http::Proxy "http://Username:[email protected]:8080";
    
réponse donnée John Cartwright 18.03.2013 - 05:24
la source
10
export http_proxy=http://proxyusername:[email protected]:proxyport
sudo apt-get update

L'exportation ne doit pas nécessiter sudo ing et si votre proxy est anonyme, il suffit de laisser tomber la partie proxyusername:[email protected] .

    
réponse donnée Oli 15.10.2010 - 13:19
la source
9

La chose qui a fonctionné pour moi était:

sudo http_proxy=http://yourserver apt-get update

Ce qui est un peu étrange car il suffit d’exporter http_proxy puis de lancer sudo echo $ http_proxy pour imprimer la valeur exportée de façon docile

    
réponse donnée Sam 07.04.2011 - 09:05
la source
3

Ubuntu est incroyablement hostile à l’authentification des serveurs proxy. J'utilise un ordinateur portable Ubuntu au travail et le nombre de casses est incroyable.

Synaptic, Apt, Firefox, Chromium, etc. utilisent des méthodes différentes pour spécifier un proxy et il n’existe aucun moyen de spécifier les informations d’identification de manière sécurisée.

Quelques bugs sur le sujet: lien

lien

lien

lien

La suggestion d’Oli d’utiliser une exportation est le seul moyen vaguement sécurisé de le faire. Il est également parfois possible de "fudger" le support du proxy si le serveur proxy utilise une authentification secondaire pour minimiser la charge sur les serveurs d'authentification principaux (par exemple, Active Directory). C'est là que la première connexion proxy est authentifiée par le proxy contre AD, puis pendant une période de temps définie (généralement 5 minutes), toutes les autres connexions sont "approuvées" pour être cet utilisateur. Par conséquent, vous pouvez ouvrir Firefox, naviguer sur Internet (n'importe où), puis essayer votre utilitaire (wget, synaptic, etc.) en spécifiant un proxy, mais laissez le nom d'utilisateur vide.

Ubuntu est généralement hostile à tout environnement d'entreprise simplement parce qu'il permet de lire facilement les mots de passe. Seahorse est un coupable, mais Network Manager est également choquant - connectez-vous à n'importe quel réseau authentifié par PEAP et vous venez de stocker votre mot de passe dans l'applet pour que quiconque puisse voir qui pourrait emprunter votre ordinateur portable. Apparemment, le partage d’ordinateurs portables est considéré comme un sacrilège dans Linux, les développeurs de Seahorse ayant rejeté les affirmations d’insécurité. Après cela, je n'ai pas eu le cœur de contacter les développeurs du gestionnaire de réseau.

    
réponse donnée Scaine 29.12.2010 - 21:24
la source
3

Avez-vous essayé de modifier /etc/apt/apt.conf ? Je l'utilise pour utiliser apt derrière notre proxy d'entreprise.

Acquire::http::proxy "http://user:[email protected]:port/";

Je pense qu'apt utilise cette valeur à moins que $ http_proxy ne soit défini dans votre environnement de shell (c'est-à-dire que $ http_proxy a priorité).

    
réponse donnée Jon Brett 15.10.2010 - 15:32
la source
1

Si c'est une configuration temporaire , vous pouvez essayer ceci: sudo bash -c 'http_proxy="http: // & lt; proxy_host & gt;: & lt; proxy_port & gt; /" apt-get update'

Vous en avez besoin, car la variable d'environnement doit être définie pour le compte "root". Faire et exporter avant ne devrait pas fonctionner.

Pour une configuration permanente , vous devrez modifier un fichier système. Ceci est déjà décrit dans la réponse suivante à propos de Comment vérifier Le proxy réseau est réellement appliqué? .

    
réponse donnée Huygens 15.10.2010 - 13:21
la source

Lire d'autres questions sur les étiquettes