Vraag Hoe krijg ik een add-apt-repository om via een proxy te werken?


Ik probeer het te volgen "Installeren van Cross Toolchain op Ubuntu 10.04 (Lucid) en 10.10 (Maverick) Hosts" -instructies op wiki.linaro.org (op mijn Ubuntu 10.04 VM). De eerste stap is:

sudo add-apt-repository ppa:linaro-maintainers/toolchain

Maar als ik dat doe, krijg ik:

Error reading https://launchpad.net/api/1.0/~linaro-maintainers/+archive/toolchain: <urlopen error [Errno 110] Connection timed out>

Ik vermoed dat het probleem zit in mijn configuratie voor de proxyserver van mijn werkgever, met name voor HTTPS.

Toen ik opende https://launchpad.net/api/1.0/~linaro-maintainers/+archive/toolchain in Firefox kreeg ik "De verbinding is verlopen". Ik ging toen naar Firefox Preferences -> Advanced -> Network -> Settings ... en stelde HTTP Proxy in op "gateway" en Port to 8080, en vinkte "Use this proxy server for all protocols" aan. Vervolgens is de pagina geladen. Dit ondersteunt mijn theorie.

Ik heb geprobeerd de omgevingsvariabelen http_proxy en https_proxy in te stellen (zowel hoofdletters als kleine letters):

$ set | grep -i proxy
HTTPS_PROXY=https://gateway:8080
HTTP_PROXY=http://gateway:8080
http_proxy=http://gateway:8080
https_proxy=https://gateway:8080

Ik heb ook geprobeerd ze te wijzigen in:

$ set | grep -i proxy
HTTPS_PROXY=gateway:8080
HTTP_PROXY=gateway:8080
http_proxy=gateway:8080
https_proxy=gateway:8080

En ik heb geprobeerd om deze tweede regel toe te voegen aan /etc/apt/apt.conf:

Acquire::http::proxy "http://gateway:8080/";
Acquire::https::proxy "https://gateway:8080/";

Maar ik blijf dezelfde foutmelding krijgen.

Hoe los ik dit op?

Bijwerken: Ik volgde de instructies in de geaccepteerd antwoord naar "Probleem bij het toevoegen van opslagplaatsen en het verbinden vanaf terminal achter een proxy" en werd verder:

$ 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

Ik vraag me af of de "HTTP-fetch-fout" betekent dat ik ook "Defaults env_keep = http_proxy" moet toevoegen aan /etc/sudoers...

Update # 2: Ik voegde toe:

Defaults env_keep="http_proxy"
Defaults env_keep="https_proxy"

...als in Commentaar 18 voor bug 516032, maar ik krijg nog steeds dezelfde foutmelding 'gpgkeys: HTTP fetch error 7: kon geen verbinding maken met host'.

En dit is nieuwsgierig:

$ sudo env | grep proxy
https_proxy=https://gateway:8080

... omdat http_proxy er niet is.

Elk advies wordt op prijs gesteld.

Update # 3: Omdat de host van mijn VM een laptop is, heb ik deze mee naar huis genomen en geprobeerd (zonder proxies):

$ 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)

Het werkte. Het probleem is dus gerelateerd aan proxyconfiguratie. Maar ik veronderstel dat ik een tijdelijke oplossing heb.


109
2017-07-15 00:49


oorsprong


Gewoon voor referentie askubuntu.com/questions/60217/... - Deepak Rajput


antwoorden:


In aanvulling op het configureren van proxies, vertel het sudo om het milieu te behouden met de -E keuze:

export http_proxy=http://<proxy>:<port>
export https_proxy=http://<proxy>:<port>
sudo -E add-apt-repository ppa:linaro-maintainers/toolchain

met gebruikersnaam en wachtwoord:

export https_proxy=https://<username>:<password>@<proxy>:<port>

163
2018-02-08 11:49



Dit werkte voor mij! :) Bedankt! - RadiantHex
Je hebt echt gewerkt - Shashwat Kumar
-E (nadat ik alle andere dingen hierboven heb gedaan) heeft het voor mij gewerkt. - cschooley
en ja, de https_proxy configuratie was noodzakelijk ...: P - monkut
Hoe proxy permanent toevoegen en vermijd -E switch? Ik heb het / etc / environment-bestand correct geconfigureerd met de toegevoegde regels ... Bedankt - Enrique


Gebruik de volgende code in een terminal om gpg key achter proxy toe te voegen,

sudo apt-key adv --keyserver-options http-proxy=http://USER:PASSWORD@PROXY_URL:PORT/ --keyserver keyserver.ubuntu.com --recv-keys GPG_KEY

En vervang hoofdletters dienovereenkomstig. Als u een proxy gebruikt zonder gebruikersauthenticatie (d.w.z. gebruikersnaam en wachtwoord) gebruik http-proxy=http://PROXY_URL:PORT/ in plaats daarvan.

Bijvoorbeeld om te hebben GPG_KEY=C2514567EEA14886 je kunt gebruiken,

sudo apt-key adv --keyserver-options http-proxy=http://user:abc123@10.10.2.21:3128/ --keyserver keyserver.ubuntu.com --recv-keys C2514567EEA14886

waar,

USER_ID=user
PASSWORD=abc123
PROXY_URL=10.10.2.21
PORT=3128

Als u geen gebruikersauthenticatie heeft, gebruik dan gewoon

sudo apt-key adv --keyserver-options http-proxy=http://10.10.2.21:3128/ --keyserver keyserver.ubuntu.com --recv-keys C2514567EEA14886

37
2018-02-06 18:04



Dat is de definitieve oplossing! THAANKS! - linello
Dit "fixeert" niet echt de uitvoering van de opdracht opdracht-apt-repository uitvoeren. Het werkt inderdaad rond een van zijn taken. Ten minste één extra opdracht is nodig: sudoedit /etc/apt/sources.list.d/XXXX.list + handmatige editie om de deb-URL's toe te voegen ... - Chucky
Dit is het beste antwoord. - Vik
Dit werkte ook voor mij. Bedankt voor de gedetailleerde uitleg. - Chuck Conway
Zou perfect zijn als je wat info toevoegt om proxy voor eeuwig te herstellen. Oplossing die u heeft verstrekt vereist VEEL tyfering - Danatela


Tenslotte! U moet https_proxy instellen via:

export https_proxy=....

alleen instellen http_proxy is niet genoeg.

En ik moest de opdracht add-apt-repository uitvoeren als root, NIET via sudo.

Code:

sudo su
add-apt-repository ppa:........

8
2017-10-14 09:55





Het lijkt erop dat de proxy-configuratie is ingesteld, maar op de een of andere manier kan geen contact worden gemaakt met de server ...

Ik had een zeer vergelijkbaar probleem dat ik als volgt heb opgelost: De bedrijfs-proxy maakt alleen poort 80 en 443 om veiligheidsredenen mogelijk, dus gebeurtenis wanneer deze is ingesteld, omdat het HKP-protocol poort 11371 gebruikt, zal het u niet doorlaten.

Dus, in plaats van SSH-uitgangen en de sleutel ophalen van een van uw servers buiten, het downloaden en lokaal installeren, kunt u de sleutelserver opgeven vanaf een van de onderstaande servers en de poort opgeven:

http://sks-keyservers.net/overview-of-pools.php

bijv .:

apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys XXXXX

Boom, Voila!


6
2017-07-26 09:40



JEP. Dit werkte voor mij tijdens het installeren van Mono op Debian 7: sudo -E apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF - ken


De reden jou sudoers verandering werkte niet zoals verwacht, is dat in plaats van:

    Defaults env_keep="http_proxy"
    Defaults env_keep="https_proxy"

Je had moeten schrijven:

    Defaults env_keep+="http_proxy"
    Defaults env_keep+="https_proxy"

Zorg ook voor de ruimte ertussen Defaults en env_keep is elke keer een tabblad.


3
2018-01-21 19:38





Ik heb dit kunnen omzeilen door het te bewerken /usr/lib/python3/dist-packages/softwareproperties/ppa.py en toevoegen

"--keyserver-options", "http-proxy=<proxy_url>",

onder de volgende regel

"--keyserver", self.keyserver,

Meer achtergrondinformatie

ppa.py is het pythonscript dat wordt gebruikt door add-apt-repository om gpg te bellen. Er lijkt soms een bug met gpg te zijn waar het de omgevingsvariabele http_proxy niet gebruikt. Dit kan worden bevestigd door het bestand te bekijken /root/.gnupg/dirmngr.conf en controleren om dat te zien honor-http-proxy is niet becommentarieerd.


3
2017-07-05 19:56





Dit heeft me geholpen:

sudo https_proxy='https://user:password@proxyhost:port/' \
http_proxy='http://user:password@proxyhost:port/' \
ftp_proxy='ftp://user:password@proxyhost:port/' \
no_proxy=localhost,127.0.0.0/8,10.0.0.0/8 add-apt-repository ppa:webupd8team/java

Ik veronderstel dat er een aantal omgevingsvariabelen zijn die niet nodig zijn in het commando, maar die geen schade aanrichten.


1
2018-06-13 16:48





Voeg de PPA handmatig toe aan uw /etc/apt/sources.list:

deb http://ppa.launchpad.net/<user>/<repo>/ubuntu trusty main

Sla het bestand op en voer het uit sudo apt-get update. Deze fout kan verschijnen:

W: GPG error: http://ppa.launchpad.net trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5BB92C09DB82666C

Voer de volgende opdracht uit om de sleutel voor de PPA te accepteren en onthoud dat u de sleutel (5BB92C09DB82666C) voor de bijbehorende PPA moet wijzigen.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 5BB92C09DB82666C

Rennen sudo apt-get update en je bent klaar.

Ref: Hoe Launchpad-PPA's toevoegen In Debian Via add-apt-repository Opdracht


1
2018-04-06 07:27





Eigenlijk stuit ik op dezelfde problemen, zo heb ik deze pagina gevonden.

  • omgevingsvariabelen http_proxy (hoofdlettergevoelig) en https_proxy (in welk geval dan ook) doen iets. Het niet instellen ervan mislukt in de eerste fase, waarbij het instellen van de omgevingsvariabelen enig effect lijkt te hebben; het zal mislukken als je ze niet exporteert

    TCRKVMW ~ $ sudo su -
    TCRKVMW ~ # export http_proxy=http://10.54.0.4:8080/
    TCRKVMW ~ # export https_proxy=http://10.54.0.4:8080/
    TCRKVMW ~ # add-apt-repository ppa:webupd8team/java
    You are about to add the following PPA:
     Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK7 / JDK8 / JDK9). There are no actual Java files in this PPA.
    

    (de rest is succesvol - deze keer)

Het probleem is dat het soms vastloopt en eindigt met het gebruikelijke time-outbericht:         Kan geen PPA toevoegen: '"Fout bij lezen https://launchpad.net/api/1.0/~webupd8team/+archive/java: (7, 'Kan geen verbinding maken met startpad.net poort 443: Verbinding verstreken' ')' '.

... maar ik val aan, ik doe dit allemaal als root. Een eenvoudige oplossing is om / etc / profile te bewerken of, op Ubuntu / Mint, gewoon een script toe te voegen in /etc/profile.d:

    TCRKVMW ~ $ sudo su -c 'F=/etc/profile.d/proxy.sh S="export proxy_http=\"http://192.168.99.4\"\nexport proxy_https=\"http://192.168.99.4\"" ; echo -e ${S} > ${F} ; chmod 700 ${F}'

Oh ja, er is ook dat ding over curl (dat trouwens door apt-add-repository wordt gebruikt). De handleiding zegt om .curlrc toe te voegen in je homedirectory. Omdat apt-add-directory root is, betekent dit dat het moet worden toegevoegd aan /root/.curlrc:

    proxy_http="http://192.168.99.4"
    proxy_https="http://192.168.99.4"

Een goed idee is om hetzelfde te doen in je eigen ~ / .curlrc

Ook is het een goede zaak om de proxy in / etc / wgetrc in te schakelen, hoewel het niets te maken heeft met de vraag, maar ik bewaar je nog een andere zoekopdracht op Google (als je dit leest, heb je meerdere met een proxy ) ...


1
2017-10-04 16:31





Deze aanpak in vier stappen werkte voor mij op een Ubuntu 17.04 VM achter een zakelijke proxy.

  1. sudo apt-add-repository ppa:brightbox/ruby-ng en laat het falen
  2. sudo apt update en zoek naar een foutmelding zoals The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F5DA5F09C3173AA6
  3. sudo apt-key adv --keyserver-options http-proxy=http://10.0.2.2:3128 --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F5DA5F09C3173AA6
  4. sudo apt update zal nu werken

Merk op dat de host-VM een heeft CNTLM proxyserver op poort 3128.


1
2017-12-14 03:28



U hoeft niet op apt te wachten om u te vertellen wat de sleutel is. It '; s is er in de technische details van de PPA: "Vingerafdruk: 80F70E11F0F0D5F10CB20E62F5DA5F09C3173AA6" - muru
Dat klopt, maar ik vond dit proces iets gemakkelijker. - thegreendroid


Voer het onderstaande commando uit in terminal

export http_proxy=http://username:password@proxyserver.net:port/
export ftp_proxy=http://username:password@proxyserver.netport/

0
2018-02-08 07:05