Hogyan kaphatok hozzá egy apt-repository-t egy proxy használatához?

110

Megpróbálom követni a "Cross Toolchain telepítését az Ubuntu 10.04 (Lucid) és a 10.10 (Maverick) gazdagépekre" utasításokat a wiki.linaro.org-on (az én Ubuntu 10.04 VM-en). Az első lépés:

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

De amikor futtatom, kapok:

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

Azt hiszem, a probléma a munkám proxykiszolgálójához tartozó konfigurációmhoz tartozik, különösen a HTTPS-hez.

Amikor megnyitottam a linket a Firefoxban, kaptam "A kapcsolatot időzítettem ”. Aztán beléptem a Firefox beállításaiba - > Speciális - > Hálózat - > Beállítások ... és állítsa a HTTP Proxy-t "átjáróként" és a Port 8080-ra, és ellenőrizze "Használja ezt a proxykiszolgálót minden protokollhoz". Ezután betöltötte az oldalt. Ez támogatja az elméletemet.

Megpróbáltam beállítani a http_proxy és a https_proxy környezeti változókat (mind az alsó, mind a nagybetűket):

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

Megpróbáltam megváltoztatni őket is:

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

És megpróbáltam hozzáadni ezt a második sort az /etc/apt/apt.conf fájlhoz:

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

De továbbra is ugyanazt a hibát követi.

Hogyan lehet hibaelhárítani?

Frissítés: követtem az elfogadott válasz a " Probléma a repositóriumok hozzáadásával és a proxy mögötti terminálról történő csatlakozáshoz " és továbblépett:

$ 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

Kíváncsi vagyok, hogy a "HTTP-visszakeresési hiba" azt jelenti-e, hogy az "Alapértelmezések env_keep = http_proxy" értéket hozzá kell adni a/etc/sudoers ...

2. frissítés: hozzáadtam:

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

... mint a 18-as hibaüzenethez 516032 , de még mindig ugyanazt a "gpgkeys: HTTP fetch hiba 7: nem tudtam csatlakozni a gazdagéphez" hiba.

És ez kíváncsi:

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

... mert a http_proxy nincs ott.

Bármely tanácsot értékeljük.

Frissítés # 3: Mivel az én VM-ek háza van egy laptopnak, hazavitte és kipróbálta ott (proxy nélkül):

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

Dolgozott. Tehát a probléma kapcsolatban áll a proxy konfigurációval. De azt hiszem, van egy megoldás.

    
készlet Daryl Spitzer 15.07.2011 02:49
forrás

13 válasz

164

A proxyok beállításán kívül asudo kifejezést a-E opció megőrzésével mondja meg:

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

felhasználónévvel és jelszóval:

export https_proxy=https://<username>:<password>@<proxy>:<port>
    
válasz adott Amal Pillai 08.02.2012 12:49
forrás
37

Használja a következő kódot a terminálban a proxy mögötti gpg kulcs hozzáadásához

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

Helyettesíti a nagybetűket ennek megfelelően. Ha proxyt használ felhasználói hitelesítés nélkül (pl. Felhasználói név és jelszó), használjahttp-proxy=http://PROXY_URL:PORT/ helyett.

Például, haGPG_KEY=C2514567EEA14886 használhatsz,

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

, ahol,

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

Ha nincs felhasználói hitelesítésed, egyszerűen használd,

sudo apt-key adv --keyserver-options http-proxy=http://10.10.2.21:3128/ --keyserver keyserver.ubuntu.com --recv-keys C2514567EEA14886
    
válasz adott Patxi Gomez 06.02.2013 19:04
forrás
8

Végül! A https_proxy beállítása:

export https_proxy=....

csak a http_proxy beállítása elégtelen.

És kellett végrehajtanom az add-apt-repository parancsot rootként, NOT via sudo-t.

kód:

sudo su
add-apt-repository ppa:........
    
válasz adott DaRattler 14.10.2011 11:55
forrás
6

Úgy tűnik, hogy a proxykonfiguráció létre van hozva, de valahogy a szerver nem érhető el ...

Nagyon hasonló kérdésem volt, amit így rendeltem meg: A vállalati proxy biztonsági okokból csak a 80-as és a 443-as portot engedélyezi, ezért a telepítéskor, mivel a HKP protokoll a 11371-es portot használja, nem fogja átengedni.

Szóval, az SSH-ból való kilépés és a kulcs kivétele a külső kiszolgálóktól, letöltés és helyi telepítés után a kulcskiszolgálót az alább felsoroltak közül választhatja ki, és megadhatja a portot:

link

pl.:

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

Boom, Voila!

    
válasz adott leroyse 26.07.2013 11:40
forrás
3

Asudoers változásának oka, hogy a várakozásnak megfelelően nem működik, hanem a következő:

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

Meg kellett volna írnia:

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

Győződjön meg arról, hogy aDefaults és aenv_keep közötti tartomány minden egyes alkalommal egy fül.

    
válasz adott Urhixidur 21.01.2015 20:38
forrás
3

Ezt sikerült megoldani a/usr/lib/python3/dist-packages/softwareproperties/ppa.py szerkesztésével és a

hozzáadásával
"--keyserver-options", "http-proxy=<proxy_url>",

a következő sor alatt

"--keyserver", self.keyserver,

További háttérinformációk

ppa.py a python script, amelyet aadd-apt-repository használ a gpg hívásához. Néha úgy tűnik, hogy hiba van a gpg-vel, ahol nem használja a http_proxy környezeti változót. Ezt megerősíthetjük a/root/.gnupg/dirmngr.conf fájl megtekintésével, és ellenőrizzük, hogy ahonor-http-proxy nem kommentálta-e.

    
válasz adott Junior Leota 05.07.2017 21:56
forrás
1

Ez segített nekem:

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

Azt hiszem, vannak olyan környezeti változók, amelyek nem szükségesek a parancsban, de nem ártanak.

    
válasz adott leo 13.06.2014 18:48
forrás
1

A PPA manuális hozzáadása a/etc/apt/sources.list:

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

Mentse el a fájlt, és futtassa asudo apt-get update -ot. Előfordulhat ez a hiba:

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

A következő parancs futtatásával, hogy elfogadja a kulcsot a PPA, emlékezve, hogy módosítsa a kulcs (5BB92C09DB82666C) a megfelelő PPA.

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

Futtassa asudo apt-get update -ot és kész.

Ref: Hogyan adjunk Launchpad HTM Debian Viaadd-apt-repository Parancs

    
válasz adott Ajoy 06.04.2017 09:27
forrás
1

Valójában azonos problémákba ütköztem, így találtam ezt az oldalt.

  • A http_proxy (kis- és nagybetűk) és a https_proxy (bármi esetre) környezeti változók valamit tesznek. Ha nem állítja be őket az első szakaszban, úgy tűnik, hogy a környezeti változók bizonyos hatást fejtenek ki; akkor nem sikerül, ha nem exportálja

    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.
    

    (a többi sikeres - ezúttal)

A dolog néha csak elakad, és véget ér a szokásos timeout üzenet:         Nem adható hozzá PPA: "" Hiba történt az hivatkozás olvasásakor : (7, 'Nem sikerült csatlakozni az indítópulthoz. 443-as nettó port: a kapcsolat időzítése ')' '.

... de csalás, mindezeket gyökérként csinálom. Egy egyszerű megoldás az / etc / profile szerkesztése, vagy az Ubuntu / Mint programban csak írjon egy szkriptet az /etc/profile.d fájlba:

    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}'

Ó, igen, van még az a dolog, ami a curl (amelyet az apt-add-repository használ, egyébként). A kézikönyv azt mondja, hogy hozzá kell adnia a .curlrc-ot a saját könyvtárában. Mivel az apt-add-könyvtár a root sajátja, azt jelenti, hogy hozzáfűzi a /root/.curlrc fájlt:

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

Jó ötlet, hogy ugyanezt tegyük a saját ~ / .curlrc

könyvtárában

A / etc / wgetrc proxy engedélyezése is jó dolog, bár semmi köze a feltett kérdéshez, csak egy másik keresést mentek el a Google-on (ha ezt olvassa, több proxyval) ...

    
válasz adott Marabiloso 04.10.2017 18:31
forrás
1

Ez a négylépéses megközelítés egy Ubuntu 17.04 VM-en dolgozott vállalati proxy mögött.

  1. sudo apt-add-repository ppa:brightbox/ruby-ng, és ne hagyja
  2. sudo apt update és keresd meg aThe 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. A (z)sudo apt update most működik

Vegye figyelembe, hogy a gazdagép VM egyCNTLM proxy szervert futtat a 3128-as porton.

    
válasz adott thegreendroid 14.12.2017 04:28
forrás
0

Végezze el az alábbi parancsot a terminálon

export http_proxy=http://username:password@proxyserver.net:port/
export ftp_proxy=http://username:password@proxyserver.netport/
    
válasz adott Deepak Rajput 08.02.2012 08:05
forrás
0

A rendszer egészére kiterjedő környezeti változókat ténylegesen hozzá kell adni a/etc/environment -hoz (sudo vagygksu), de úgy tűnik, hogy a jelentett hiba nem tartalmaz gpg adatokat. Ötletek:

  • ellenőrizze a proxybeállításokat (ha rendelkezik hozzáféréssel)
  • ellenőrizze, hogy a proxy valahogy hiányzik-e a titkosított forgalom kimenete.
  • Folytonos netstat futtatásával megnézheted, hogy valóban létrejön-e a proxy kapcsolata
  • végső megoldás a tcpdump & ellenőrizze a wiresharkban
  • próbálj ki egy http-alagútot;)
válasz adott t0m5k1 29.08.2011 23:04
forrás
0

A (z)/etc/apt/apt.conf.d/01proxy -hoz hozzáad valami ilyesmit

Acquire::http { Proxy "http://192.168.0.99:3142"; };

Ez a proxy all aptitude letöltéseket fogja át, de szerintem ez az egyetlen módja annak, hogy ezt megtegyük a háttérben. Ha a proxy támogatja azt, használhat olyan URL-t is, mint ahttp://my.proxy:port/www.target.site.com/url, amelyről tudom, hogy működik aapt-cache-ng

Nem vagyok biztos benne, hogy a hozzá tartozó apt-repository az itsself használja ezeket a beállításokat, de ha nem tudja ezt a munkát elvégezni, mindig hozzáadhatja a repository-t a/etc/apt/sources.list vagy/etc/apt/sources.list.d/*mytoolchain*

A 11.10-től kezdődően a fő repo-ban is megtalálható a cross-toolchailable, csakapt-get install gcc-arm-linux-gnueabihf. Az emdebian-ból rendelkezésre állnak keresztkötéscímkék is, és itt néhány utasítás található: link

    
válasz adott user72421 27.07.2012 19:08
forrás