J'essaie de suivre les instructions "Installation de Cross Toolchain sur Ubuntu 10.04 (Lucid) et 10.10 (Maverick) Hosts" sur wiki.linaro.org (sur ma machine virtuelle Ubuntu 10.04). La première étape est:
sudo add-apt-repository ppa:linaro-maintainers/toolchain
Mais quand je cours, je reçois:
Error reading https://launchpad.net/api/1.0/~linaro-maintainers/+archive/toolchain: <urlopen error [Errno 110] Connection timed out>
J'imagine que le problème vient de ma configuration pour le serveur proxy de mon employeur, en particulier pour HTTPS.
Lorsque j'ai ouvert https://launchpad.net/api/1.0/~linaro-maintainers/+archive/toolchain dans Firefox, j'ai reçu le message "La connexion a expiré". Je suis ensuite allé dans les préférences de Firefox -> Avancé -> Réseau -> Paramètres ... et définissez le proxy HTTP sur "passerelle" et le port sur 8080, puis cochez la case "Utiliser ce serveur proxy pour tous les protocoles". Puis la page chargée. Cela soutient ma théorie.
J'ai essayé de définir les variables d'environnement http_proxy et https_proxy (minuscules et majuscules):
$ set | grep -i proxy
HTTPS_PROXY=https://gateway:8080
HTTP_PROXY=http://gateway:8080
http_proxy=http://gateway:8080
https_proxy=https://gateway:8080
J'ai aussi essayé de les changer pour:
$ set | grep -i proxy
HTTPS_PROXY=gateway:8080
HTTP_PROXY=gateway:8080
http_proxy=gateway:8080
https_proxy=gateway:8080
Et j’ai essayé d’ajouter cette seconde ligne à /etc/apt/apt.conf:
Acquire::http::proxy "http://gateway:8080/";
Acquire::https::proxy "https://gateway:8080/";
Mais je continue à avoir la même erreur.
Comment puis-je résoudre ce problème?
Mise à jour: j'ai suivi les instructions de la réponse acceptée à la section "Problème lors de l'ajout de référentiels et de la connexion d'un terminal derrière un proxy" et je suis allé plus loin:
$ sudo add-apt-repository ppa:linaro-maintainers/toolchain
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 1DD749B890A6F66D050D985CF1FCBACA7BE1F97B
gpg: requesting key 7BE1F97B from hkp server keyserver.ubuntu.com
gpgkeys: HTTP fetch error 7: couldn't connect to host
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
Je me demande si "l'erreur de récupération HTTP" signifie que j'ai également besoin d'ajouter "Par défaut, env_keep = http_proxy" à /etc/sudoers
...
Mise à jour # 2: j'ai ajouté:
Defaults env_keep="http_proxy"
Defaults env_keep="https_proxy"
... comme dans le commentaire 18 pour le bogue 516032 , mais j'ai toujours le même erreur "gpgkeys: HTTP fetch error 7: impossible de se connecter à l'hôte".
Et c'est curieux:
$ sudo env | grep proxy
https_proxy=https://gateway:8080
... parce que http_proxy n'est pas là.
Tout conseil est apprécié.
Mise à jour # 3: comme l'hôte de ma machine virtuelle est un ordinateur portable, je l'ai pris chez moi et j'ai essayé (sans proxy):
$ sudo add-apt-repository ppa:linaro-maintainers/toolchain
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 1DD749B890A6F66D050D985CF1FCBACA7BE1F97B
gpg: requesting key 7BE1F97B from hkp server keyserver.ubuntu.com
gpg: key 7BE1F97B: public key "Launchpad Linaro Overlay PPA" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
Ça a marché. Donc, le problème est lié à la configuration du proxy. Mais je suppose que j'ai une solution de contournement.
la source
Réponses:
En plus de la configuration des mandataires, indiquez
sudo
de préserver l'environnement avec l'-E
option suivante:avec nom d'utilisateur et mot de passe:
la source
https_proxy
configuration était nécessaire ...: Pman sudo
:-E, --preserve-env
Indique à la politique de sécurité que l'utilisateur souhaite conserver ses variables d'environnement existantes. La politique de sécurité peut renvoyer une erreur si l'utilisateur n'a pas l'autorisation de préserver l'environnement.mUtilisez le code suivant dans un terminal pour ajouter la clé gpg derrière le proxy,
Et remplacez les lettres majuscules en conséquence. Si vous utilisez un proxy sans authentification de l'utilisateur (nom d'utilisateur et mot de passe), utilisez
http-proxy=http://PROXY_URL:PORT/
plutôt.Par exemple,
GPG_KEY=C2514567EEA14886
vous pouvez utiliser,où,
Si vous n'avez pas d'authentification d'utilisateur, utilisez simplement,
la source
Finalement! Vous devez définir https_proxy via:
définir uniquement http_proxy n'est pas suffisant.
Et j'avais besoin d'exécuter la commande add-apt-repository en tant que root, PAS via sudo.
Code:
la source
Il semble que la configuration du proxy soit configurée, mais que le serveur ne puisse pas être contacté ...
J'ai eu un problème très similaire que j'ai résolu comme ceci: Le proxy d'entreprise n'autorise que les ports 80 et 443 pour des raisons de sécurité. Par conséquent, lors de la configuration, le protocole HKP utilisant le port 11371 ne vous laissera pas passer.
Ainsi, à moins que SSH n'entre et récupère la clé de l'un de vos serveurs à l'extérieur, soit en la téléchargeant et en l'installant localement, vous pouvez spécifier le serveur de clés parmi ceux répertoriés ci-dessous et spécifier le port:
http://sks-keyservers.net/overview-of-pools.php
par exemple:
Boom, voila!
la source
sudo -E apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
La raison pour laquelle votre
sudoers
modification n'a pas fonctionné comme prévu est qu'au lieu de:Vous auriez dû écrire:
Assurez-vous également que l'espace entre
Defaults
etenv_keep
est un onglet à chaque fois.la source
J'ai réussi à contourner ce problème en modifiant
/usr/lib/python3/dist-packages/softwareproperties/ppa.py
et en ajoutantsous la ligne suivante
Plus d'informations de base
ppa.py
est le script python qui est utilisé paradd-apt-repository
pour appeler gpg. Il semble parfois y avoir un bogue avec gpg qui n’utilise pas la variable d’environnement http_proxy. Cela peut être confirmé en consultant le fichier/root/.gnupg/dirmngr.conf
et en vérifiant qu'ilhonor-http-proxy
n'est pas mis en commentaire.la source
Cette approche en quatre étapes a fonctionné pour moi sur une machine virtuelle Ubuntu 17.04 derrière un proxy d'entreprise.
sudo apt-add-repository ppa:brightbox/ruby-ng
et laissez-le échouersudo apt update
et recherchez un message d'erreur commeThe following signatures couldn't be verified because the public key is not available: NO_PUBKEY F5DA5F09C3173AA6
sudo apt-key adv --keyserver-options http-proxy=http://10.0.2.2:3128 --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F5DA5F09C3173AA6
sudo apt update
va maintenant travaillerNotez que la machine virtuelle hôte exécute un
CNTLM
serveur proxy sur le port 3128.la source
Cela m'a aidé:
J'imagine que certaines variables d'environnement ne sont pas nécessaires dans la commande, mais elles ne nuisent pas.
la source
Ajoutez le PPA manuellement à votre
/etc/apt/sources.list
:Enregistrez le fichier et exécutez
sudo apt-get update
. Cette erreur peut apparaître:Exécutez la commande suivante pour accepter la clé pour le PPA, sans oublier de changer la clé (5BB92C09DB82666C) pour le PPA correspondant.
Courez
sudo apt-get update
et vous avez terminé.Réf: comment ajouter des PPA au tableau de bord dans Debian via une
add-apt-repository
commandela source
En fait, je rencontre les mêmes problèmes, c'est comme ça que j'ai trouvé cette page.
les variables d’environnement http_proxy (sensible à la casse) et https_proxy (quelle que soit la casse) agissent. Ne pas les définir échoue dans la première étape, la définition des variables d'environnement semble avoir un effet; cela échouera si vous ne les exportez pas
(le reste est réussi - cette fois)
Le problème est que, parfois, il reste bloqué et se termine avec le message de délai habituel: Impossible d'ajouter PPA: '"Erreur lors de la lecture de https://launchpad.net/api/1.0/~webupd8team/+archive/java : (7,' Échec de la connexion au port 443 de launchpad.net: la connexion a expiré ') "'.
... mais je triche, je fais tout cela en tant que root. Une solution simple consiste à éditer / etc / profile ou, sous Ubuntu / Mint, ajoutez simplement un script dans /etc/profile.d:
Oh, oui, il y a aussi cette chose à propos de curl (qui est d'ailleurs utilisé par apt-add-repository). Le manuel dit d'ajouter .curlrc dans votre répertoire personnel. Comme apt-add-directory appartient à la racine, cela signifie que vous devez l'ajouter à /root/.curlrc:
Une bonne idée est de faire la même chose dans votre propre ~ / .curlrc
Aussi, activer le proxy dans / etc / wgetrc est une bonne chose à faire, bien que cela n’ait rien à voir avec la question posée, je vous enregistre juste une autre recherche sur Google (si vous lisez ceci, vous en avez plusieurs avec un proxy ) ...
la source
En
/etc/apt/apt.conf.d/01proxy
ajouter quelque chose comme çaCela va remplacer tous les téléchargements d’aptitude, mais je pense que c’est le seul moyen de le faire sur le backend. Si votre proxy le prend en charge, vous pouvez également utiliser une URL telle
http://my.proxy:port/www.target.site.com/url
que celle que je connais fonctionne pourapt-cache-ng
Je ne sais pas si add-apt-repository itsself utilise ces paramètres, mais si vous ne pouvez pas faire ce travail, vous pouvez toujours ajouter le dépôt à votre
/etc/apt/sources.list
ou/etc/apt/sources.list.d/*mytoolchain*
Depuis 11.10, il existe également un outil croisé dans le référentiel principal, uniquement
apt-get install gcc-arm-linux-gnueabihf
. Il existe également des chaînes d’outils croisées disponibles chez emdebian, et quelques instructions à ce sujet: http://gsoc.sitedethib.com/posts/apt-get_install_gcc-4.7-arm-linux-gnueabihf/la source
Ce que je fais est d'utiliser http via curl au lieu d'essayer de proxy apt-key ou gpg:
curl -sSL \ ' http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xBBEBDCB318AD50EC6865090613B00F1FD2C19886 ' \ | sudo apt-key add -
Cette méthode doit être utilisée à la place de la
apt-key
ligne de commande ouhttp_proxy
ou deshttps_proxy
variables d' environnement (paramètres qui sont désactivées dans les dernières versions de apt-key).la source
Exécuter la commande ci-dessous dans le terminal
la source
Les variables d'environnement système doivent vraiment être ajoutées à
/etc/environment
(utilisersudo
ougksu
), mais l'erreur signalée semble indiquer qu'aucune donnée gpg n'a été trouvée. Idées:la source
Une autre solution consiste à ajouter un
proxy.conf
fichier APT ,/etc/apt/apt.conf.d/proxy.conf
la source