Proxy üzerinden çalışmak için add-apt-repository nasıl edinebilirim?


119

Ben izlemeye çalışıyorum wiki.linaro.org ilgili talimatlar "Ubuntu 10.04 (Lucid) ve 10.10 (Maverick) Ana İletişim Kurma Çapraz araç zinciri" (benim Ubuntu 10,04 VM üzerine). İlk adım:

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

Ama kaçtığımda şunu alıyorum:

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

İşverenimin proxy sunucusu, özellikle de HTTPS için yapılandırmamın sorunu olduğunu tahmin ediyorum.

Firefox’ta https://launchpad.net/api/1.0/~linaro-maintainers/+archive/toolchain dosyasını açtığımda "Bağlantının zaman aşımına uğradığını" anladım. Daha sonra Firefox Tercihler -> Gelişmiş -> Ağ -> Ayarlar ... öğelerine gittim ve HTTP Proxy’yi “ağ geçidi” ve Bağlantı Noktası’na 8080 olarak ayarlayın ve “Bu proxy sunucuyu tüm protokoller için kullan” seçeneğini işaretledim. Sonra sayfa yüklendi. Bu benim teorimi destekliyor.

Http_proxy ve https_proxy ortam değişkenlerini ayarlamayı denedim (hem küçük hem de büyük harf):

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

Onları değiştirmeyi de denedim:

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

Ve bu ikinci satırı /etc/apt/apt.conf dosyasına eklemeyi denedim:

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

Ama aynı hatayı almaya devam ediyorum.

Bunu nasıl giderebilirim?

Güncelleme: Ben yönergeleri takip kabul edilen yanıt için "Sorun depoları ekleme ve Proxy'yle terminalden bağlantı" ve ayrıca var:

$ 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

"HTTP getirme hatası" nın aynı zamanda "Defaults env_keep = http_proxy" eklemeye gerek duyduğumu mu merak ediyorum /etc/sudoers...

Güncelleme # 2: Ekledim:

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

... 516032 numaralı hata için Açıklama 18'deki gibi , ancak yine de aynı "gpgkeys: HTTP getirme hatası 7: ana bilgisayara bağlanamadı" hatasını alıyorum.

Ve bu meraklı:

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

... çünkü http_proxy orada değil.

Herhangi bir tavsiye takdir edilmektedir.

Güncelleme # 3: VM'imin sunucusu bir dizüstü bilgisayar olduğundan, eve götürdüm ve orada (proxy olmadan) denedim:

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

İşe yaradı. Bu yüzden sorun proxy yapılandırması ile ilgilidir. Ama sanırım bir geçici çözümüm var.


Yanıtlar:


183

Proxy'leri yapılandırmaya ek olarak sudo, çevreyi aşağıdaki -Eseçeneklerle korumayı da söyleyin :

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

kullanıcı adı ve şifre ile:

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

Ya gerçekten işe yaradı
Shashwat Kumar

14
-E (yukarıdaki tüm diğer şeyleri yaptıktan sonra) benim için çalışmasını sağladı.
cschooley

2
ve evet, https_proxykonfigürasyon gerekliydi ...: P
monkut

1
Proxy kalıcı olarak nasıl eklenir ve -E anahtarından kaçının? / Etc / environment dosyasını ekli satırlarla doğru bir şekilde yapılandırdım ... Teşekkürler
Enrique

1
Kimden man sudo: -E, --preserve-envKullanıcının mevcut ortam değişkenlerini korumak istediği güvenlik politikasını belirtir. Kullanıcı environment.m korumak için izni yok ise güvenlik politikası bir hata döndürebilir
Pablo A

39

Proxy'nin arkasına gpg anahtarı eklemek için terminalde aşağıdaki kodu kullanın,

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

Ve buna göre büyük harfleri değiştirin. Herhangi bir kullanıcı doğrulaması olmadan bir proxy kullanıyorsanız (yani, kullanıcı adı ve şifre) kullanın http-proxy=http://PROXY_URL:PORT/.

Örneğin GPG_KEY=C2514567EEA14886kullanabilmeniz için,

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

nerede,

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

Kullanıcı kimliğiniz yoksa, sadece

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

3
Bu aslında add-apt-repository komutunun yürütülmesini "düzeltmez". Gerçekten de görevlerinden birinin etrafında çalışıyor. En az bir ek komut gereklidir: sudoedit /etc/apt/sources.list.d/XXXX.list + deb URL'lerini eklemek için el ile basım ...
Chucky

Sonsuza kadar proxy nasıl düzeltileceği hakkında biraz bilgi eklerseniz mükemmel olurdu.
Sağladığınız

9

En sonunda! Https_proxy'yi aşağıdakiler aracılığıyla ayarlamanız gerekir:

export https_proxy=....

yalnızca ayarlanan http_proxy yeterli değil.

Ayrıca add-apt-repository komutunu sudo aracılığıyla root olarak çalıştırmam gerekiyordu.

Kod:

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

6

Proxy yapılandırması ayarlanmış gibi görünüyor ancak bir şekilde sunucuyla bağlantı kurulamıyor ...

Bu şekilde çözdüğüm çok benzer bir sorun yaşadım: Kurumsal proxy, güvenlik nedenleriyle yalnızca 80 ve 443 numaralı bağlantı noktalarına izin veriyor, bu nedenle kurulum sırasında olay, HKP protokolü 11371 numaralı bağlantı noktasını kullandığından, size izin vermeyecek.

Bu nedenle, SSH'yi dışarıda bırakmak ve anahtarı dışarıdaki sunucularınızdan birinden almak, indirmek ve yerel olarak kurmak, aşağıda listelenenlerden birinden anahtar sunucusu belirtebilir ve bağlantı noktasını belirleyebilirsiniz:

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

Örneğin:

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

Boom, Voila!


Evet. Bu benim için çalıştı, Debian 7'de sudo -E apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
ken

3

sudoersDeğişikliğinizin beklendiği gibi çalışmamasının nedeni şudur:

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

Yazmalıydın:

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

Ayrıca her seferinde bir sekme Defaultsve arasında boşluk olduğundan emin olun env_keep.


3

Düzenleyerek /usr/lib/python3/dist-packages/softwareproperties/ppa.pyve ekleyerek bu sorunu gidermeyi başardım

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

aşağıdaki çizginin altında

"--keyserver", self.keyserver,

Daha fazla arka plan bilgisi

ppa.pyadd-apt-repositorygpg'yi çağırmak için kullanılan python betiğidir . Bazen http_proxy ortam değişkenini kullanmadığı durumlarda gpg ile ilgili bir hata olabilir. Bu, dosyayı inceleyerek /root/.gnupg/dirmngr.confve honor-http-proxyyorumlanmadığını görmek için kontrol ederek onaylanabilir .


3

Bu dört adımlı yaklaşım benim için kurumsal bir vekil sunucunun arkasındaki Ubuntu 17.04 VM'de çalıştı.

  1. sudo apt-add-repository ppa:brightbox/ruby-ng ve başarısız olmasına izin ver
  2. sudo apt update ve şöyle bir hata mesajı arayın: 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 şimdi çalışacak

Ana bilgisayar CNTLMVM'sinin 3128 numaralı bağlantı noktasında bir proxy sunucusu çalıştırdığını unutmayın .


1
Anahtarın ne olduğunu söylemek için apt'yi beklemenize gerek yok. PPA'nın teknik ayrıntılarında : "Parmak İzi: 80F70E11F0F0D5F10CB20E62F5DA5F09C3173AA6"
muru

Bu doğru, ama bu işlemi biraz daha kolay buldum.
thegreendroid

1

Bu bana yardımcı oldu:

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

Sanırım komuta ihtiyaç duyulmayan bazı ortam değişkenleri var ama zararları yok.


1

PPA'yı elinize ekleyin /etc/apt/sources.list:

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

Dosyayı kaydedin ve çalıştırın sudo apt-get update. Bu hata ortaya çıkabilir:

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

Karşılık gelen PPA için anahtarı (5BB92C09DB82666C) değiştirmeyi hatırlayarak, PPA'nın anahtarını kabul etmek için aşağıdaki komutu çalıştırın.

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

Koş sudo apt-get updateve bitirdin.

Ref: Debian add-apt-repositoryKomutu İle Başlatma Öncesi PPA'lar Nasıl Eklenir


1

Aslında, aynı sorunları yaşıyorum, bu sayfayı bu şekilde buldum.

  • http_proxy (büyük / küçük harfe duyarlı) ve https_proxy (her ne olursa olsun) ortam değişkenleri bir şey yapar. Bunları ayarlamamanın ilk aşamada başarısız olması, ortam değişkenlerinin ayarlanmasının bir etkisi olabilir; onları dışa aktarmazsanız başarısız olur

    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.
    

    (gerisi başarılı - bu sefer)

Mesele şu ki, bazen sıkışıp kalıyor ve olağan zaman aşımı mesajı ile bitiyor: PPA eklenemiyor: '" https://launchpad.net/api/1.0/~webupd8team/+archive/java : (7,' okunurken hata oluştu 443 numaralı portpad.net bağlanamadı: Bağlantı ') "' zaman aşımına uğradı.

... ama hile yapıyorum, bütün bunları kök olarak yapıyorum. Kolay bir çözüm / etc / profile düzenlemek ya da Ubuntu / Mint 'te /etc/profile.d dosyasına bir script eklemektir:

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

Evet, kıvrılma ile ilgili bir şey de var (apt-add-repository, bu arada kullanılır). Bu kılavuz ana dizininize .curlrc ekleyeceğini söylüyor. Apt-add-directory kök dizininde olduğu için, /root/.curlrc dosyasına eklemek demektir:

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

İyi bir fikir kendi aynısını yapmaktır ~ / .curlrc

Ayrıca, / etc / wgetrc içindeki proxy'yi etkinleştirmek iyi bir şeydir, sorulan soru ile hiçbir ilgisi olmasa da, sadece Google’da başka bir arama kaydediyorum (eğer bunu okursanız bir proxy’ye sahip olabilirsiniz) ) ...


1

Buna /etc/apt/apt.conf.d/01proxybenzer bir şey eklemek

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

Bu, tüm yetenek indirmelerinde proxy olacaktır , ancak bunun arka uçta yapmanın tek yolu olduğunu düşünüyorum. Proxy'niz destekliyorsa, http://my.proxy:port/www.target.site.com/urlçalıştığını bildiğim bir URL’yi de kullanabilirsiniz .apt-cache-ng

Ben eklenti apt-depo itsself bu ayarları kullanıyorsa emin değilim, ama bu işi yapamaz, her zaman için depoyu ekleyebilir sizin /etc/apt/sources.listveya/etc/apt/sources.list.d/*mytoolchain*

11.10’dan bu yana ana depoda aynı zamanda bir çapraz alet var apt-get install gcc-arm-linux-gnueabihf. Ayrıca emdebian'dan edinebileceğiniz çapraz aletler ve burada bazı talimatlar vardır: http://gsoc.sitedethib.com/posts/apt-get_install_gcc-4.7-arm-linux-gnueabihf/


user72421: Proxy'nin 01 ile önek eklenmesi gerektiğini nasıl bildin?
jgomo3 27:13

Apt-get & keyserver ile çalışmıyor
Vik


0

Terminalde aşağıdaki komutu uygulayın

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

0

Sistem çapında ortam değişkenleri gerçekten /etc/environment( eklenmeli sudoveya kullanmalı gksu) eklenmelidir , ancak size bildirilen hatanın gpg verisi bulunmadığını bildirdiği görülüyor. fikirler:

  • Proxy ayarlarını kontrol et (erişiminiz varsa)
  • Proxy'nin bir şekilde şifreli trafiğin çıktısını etkileyip etkilemediğini kontrol edin.
  • Proxy ile bağlantının yapılıp yapılmadığını görmek için sürekli bir netstat çalıştırmak
  • son çare tcpdump & wireshark teftişi olacak
  • bir http tüneli deneyin;)

0

Başka bir çözüm ise APT proxy.confdosyası eklemek./etc/apt/apt.conf.d/proxy.conf

Acquire::http::Proxy "http://your.proxy.server.here.com:port/";
Acquire::https::Proxy "http://your.proxy.server.here.com:port/";
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.