web-dev-qa-db-fra.com

'apt-get' ne fonctionne pas avec Proxy

Pour la commande

Sudo apt-get update

J'ai l'erreur suivante:

W: Failed to fetch http://ch.archive.ubuntu.com/ubuntu/dists/maverick-updates/multiverse/binary-i386/Packages.gz  
407  Proxy Authentication Required (The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. )

J'utilise Ubuntu 10.10 installé sur Windows XP à l'aide de VirtualBox. Pour les connexions Internet, j'utilise un serveur proxy avec une authentification. J'ai essayé d'utiliser l'outil gnome-network-proxy pour définir les paramètres de proxy du système.

Une fois que /etc/environment a été mis à jour par la variable http_proxy au format http://my_proxy:port/, aucune donnée d’authentification n’a été trouvée.

J'ai vérifié cela avec Firefox. Le navigateur m'a demandé mon identifiant et mon mot de passe et tout fonctionnait bien. Ce n'était malheureusement pas le cas pour apt-get. J'ai aussi essayé de faire comme décrit ici . Malheureusement ça ne marche pas.

Peut-il être lié au fait qu'un proxy est dans un domaine Windows, des idées?

Mon nom de proxy est http-proxy . Est-ce que ' - ' est un caractère spécial ici?

51
tommyk

Pour mon réseau d'entreprise, mon administrateur m'a donné le nom du proxy au format suivant:

http://[username]:[password]@[proxy-webaddress]:[port]

Pour notre réseau Windows, notre nom d'utilisateur est au format:

[domain]\[username]

Par exemple:

http://mywindowsdomain\fossfreedom:[email protected]:8080

Cela a été ajouté au fichier NEW suivant (il n'existe pas par défaut):

gksudo gedit /etc/apt/apt.conf.d/01proxy

Le texte suivant a été ajouté:

Acquire::http::Proxy "http://mywindowsdomain\fossfreedom:[email protected]:8080";

Si vous utilisez un proxy anonyme, vous n'avez pas besoin de vos informations de connexion:

Acquire::http::Proxy "http://askubuntu-proxy.com:8080";

Enregistrez le fichier puis vérifiez que tout va bien avec:

Sudo apt-get update
52
fossfreedom

J'ai constaté que le nom d'utilisateur et le mot de passe entrés dans l'applet "Proxy réseau" ne sont pas stockés dans le fichier apt.conf; vous devez donc ajouter manuellement le nom d'utilisateur et le mot de passe dans le fichier /etc/apt/apt.conf.

L'applet "Proxy réseau" ne stocke que le nom d'hôte et le port.

La syntaxe de base est

Acquire::http::proxy "http://User:Password@Host:port/";

Acquire::ftp::proxy "ftp://User:Password@Host:port/";

Acquire::https::proxy "https://User:Password@Host:port/";

Si vous utilisez des noms d'utilisateur et un mot de passe Windows, suivez ces conseils:

User = Domain/Username

(Les utilisateurs de Windows utilisent / pas \)

Si vous utilisez un mot de passe fort/complexe Windows avec des caractères spéciaux, vous devez utiliser le codage de l'URL pour les valeurs. Par exemple, un "@" dans le mot de passe serait "% 40".

13
MneMoth

Essayez de définir http_proxy sur http: // utilisateur: pass @ serveur de proxy: port /

modifier:
Si la définition de http_proxy ne fonctionne pas, essayez de modifier apt.conf. Dans
Ubuntu apt.conf est fragmenté dans le répertoire /etc/apt/apt.conf.d/.
Dans ce répertoire, éditez /etc/apt/apt.conf.d/01ubuntu:

APT {
    Acquire {
        http {
            Proxy "http://user:password@server:port";
        };
    };
};

ou essayez de le configurer avec Synaptic: Paramètres -> Préférences -> Réseau
Et définissez ensuite vos paramètres de proxy dans "Configuration manuelle du proxy".

9
Casual Coder

Je suis derrière un proxy MS ISA et j'utilise le proxy d'authentification Cntlm; dans le apt.conf j'ai 4 lignes; J'ai lu quelque part que la dernière ligne doit être vide, mais je n'en suis pas sûr. Cela fonctionne parfaitement:

Acquire::http::proxy "http://127.0.0.1:3128/";
Acquire::ftp::proxy "ftp://127.0.0.1:3128/";
Acquire::https::proxy "https://127.0.0.1:3128/";
4
dEvil

cntlm a une option de découverte qui aide à trouver la bonne configuration pour fonctionner avec l’autorisation NTLM de votre réseau, essayez ceci:

cntlm -I -M http://test.com

copier et coller les résultats dans /etc/cntlm.conf

redémarrer cntlm

3
tommyk

Comment appliquer apt-get update ou installer dans Ubuntu? J'étais derrière un serveur proxy et après l'installation d'Ubuntu, je ne pouvais plus rien mettre à jour ou installer à l'aide de la commande apt-get. Après une recherche, j’ai trouvé que le paquet apt avait été modifié, il n’y a plus de fichier apt.conf dans le répertoire/etc/apt.

Ce que j'ai fait pour résoudre ce problème est le suivant:

Ouvrir le terminal et le fichier

Sudo -H gedit /etc/bash.bashrc

et ajoutez au bas du fichier ces 2 lignes:

#proxy 
export http_proxy=http://user:password@Host:port/
export ftp_proxy=http://user:pass@Host:port/

Maintenant, sauvegardez et quittez, vous pourrez maintenant mettre à jour, mettre à jour ou installer des paquets dans Ubuntu

2
hhlp
  1. Ouvrez le terminal et ajoutez les lignes suivantes à /etc/apt/apt.conf.

    gksu gedit /etc/apt/apt.conf
    
  2. Ajoutez ces 2 lignes:

    Acquire::http::Proxy "http://user:pass@proxy-Host:port/";
    Acquire::ftp::Proxy "http://user:pass@proxy-Host:port/";
    
  3. Sauvegarder et quitter.

    Maintenant, apt-get update et devrait fonctionner derrière un proxy, mais , vous remarquerez que quelque chose ne fonctionne toujours pas, à savoir la commande add-apt-repository.

    Pour pouvoir ajouter un référentiel derrière un proxy, tapez les commandes suivantes:

    # export https_proxy="http://192.168.1.5:8080"
    # sed -i 's/"keyserver.ubuntu.com"/"hkp://keyserver.ubuntu.com:80"/' /usr/share`/pyshared/softwareproperties/ppa.py`
    

    Vous pouvez maintenant ajouter des référentiels dans Lucid et Natty en utilisant LANG = C add-apt-repository

    Exemple:

    root @ ubuntu: ~ # LANG = C add-apt-repository ppa: motumedia/mplayer-daily

Via nixmen

2
donadony

Celui-ci a fonctionné pour moi !!

(l'ajout de proxy manuellement à partir de l'interface graphique via les paramètres système-> réseau, etc. devrait fonctionner)

export http_proxy=http://<your proxy url>:<proxy port>

et encore pour https:

export https_proxy= <usually the same as the http>

Le plus important d'ajouter le -E: Pour exécuter Sudo apt-get install ou Sudo apt-get update, vous devez exécuter:

Sudo -E <command>

Les "-E" utilisent vos variables d’environnement utilisateur pour la racine (Sudo), d’autre part le http_proxy/https_proxy que vous venez d’exporter.

J'espère que ça aide :)

2
Kohn1001

Avait ce même problème après l'installation d'Ubuntu 18.04. Ce qui a fonctionné pour moi a été de:

  1. Ouvrir l'écran du proxy réseau dans les paramètres réseau
  2. Sélectionnez Manuel et ajoutez les informations de proxy http et https.
  3. De plus, définissez le champ Ignore Hosts avec:
    https://extensions.gnome.org*, *.extensions.gnome.org*
  4. Ubuntu redémarré

En ce qui concerne le point 3, vous ne savez pas si l'ajout de l'entrée ci-dessus fonctionne ou non, mais cette étape fonctionne pour moi

1
Vuzi

Avec un proxy BlueCoat, pour moi, le format du fichier apt.conf devait ressembler à ceci:

Acquire::http::proxy "http://Domain%5cUserID:[email protected]:80/";
Acquire::ftp::proxy "ftp://Domain%5cUserID:[email protected]:80/";
Acquire::https::proxy "https://Domain%5cUserID:[email protected]:80/";

^ ^ ^ ^ Ligne vide après la 3ème ligne proxy, n'entrez pas cette ligne. ^ ^ ^ ^

1
Jason
  1. Démarrez Synaptic (allez dans Système -> Administration -> Synaptic dans Gnome 2, ou tapez "synaptic" dans le tableau de bord dans Unity).
  2. Dans la barre de menus, cliquez sur Paramètres, puis sur Préférences.
  3. Lorsque la fenêtre Préférences apparaît, cliquez sur l'onglet Résea.
  4. Sélectionnez le bouton radio Configuration manuelle du proxy et entrez vos informations de proxy.
  5. Pour appliquer les informations d'authentification, cliquez sur le bouton Authentification et entrez le nom d'utilisateur et le mot de passe.
  6. Cliquez sur OK pour fermer la fenêtre Authentification HTTP.
  7. Cliquez sur OK pour fermer la fenêtre Préférences.
  8. Cliquez sur le bouton Recharger pour mettre à jour les listes de paquets.

Notez que cette modification affectera également le Gestionnaire de mise à jour.

0
N.C. Weber

Cette solution monocouche a fonctionné pour moi:

Sudo env http_proxy=http://<ip>:<port> apt-get update
0
Raheel