proxy add-apt-repository

Как мне добавить-apt-репозиторий для работы через прокси?

Я'м стараясь следовать на"Установка toolchain и кросс на Ubuntu 10.04 (осознанные) и 10.10 (Маверик) хозяева" и инструкциям на wiki.linaro.org (на моей виртуальной машине с Ubuntu 10.04). Первым шагом является:

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

Но когда я запускаю это, я получаю:

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

Я'м предполагаю, что проблема с моей конфигурации для моего работодателя'с прокси-сервера, особенно для HTTPS.

Когда я открыл https://launchpad.net/api/1.0/~организацией Linaro-сопровождающих/+архив/набор инструментов в Firefox, я получил "в связи истекло и". Я тогда пошел в Firefox предпочтения -и GT; дополнительно -> В Сети> В настройках... и задайте HTTP-прокси, чтобы "шлюз" и порт на 8080, и проверено на "Использовать прокси-сервер для всех протоколов и". То страница загружается. Это поддерживает мою теорию.

Я'вэ попытался установить переменные http_proxy и https_proxy переменные среды (как нижний и верхний чехол):

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

Я также попытался изменить:

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

И я пробовал добавлять эту вторую строку в /etc/АПТ/АПТ.конф:

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

Но я по-прежнему получаю ту же ошибку.

Как устранить это?

Обновление: я следовал инструкциям в принимаются ответы, чтобы "и проблемы при добавлении репозиториев и подключение терминала за прокси-то" и получила дальнейшее:

$ 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 запрос ошибке" означает, я также нужно добавить, что "env_keep по умолчанию = при" на /и т. д./пользователям использовать sudo?...

Обновление #2: я добавил:

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

...как и в [комментарий 18 Жук 516032][4], но я все еще получаю то же, что "gpgkeys: ошибка http принести 7: Не'т подключиться к серверу" по ошибке.

И это любопытно:

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

...ведь при это'т там.

Любые консультации высоко.

Обновление #3: С ведущего ВМ-это ноутбук, я взял его домой и попытался (без прокси):

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

Он работал. Так что проблема имеет отношение к конфигурации прокси-сервера. Но я предполагаю, что у меня есть обходной путь.

[4]: https://bugs.launchpad.net/ubuntu/+источник/программное обеспечение-свойства/+баг/516032/комментарии/18

119
15
15 ответов

В дополнение к настройке прокси, скажи судо для сохранения окружающей среды С вариант:

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

с именем пользователя и паролем:

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

Используйте следующий код в терминале, чтобы добавить ключ GPG за прокси,

sudo apt-key adv --keyserver-options http-proxy=http://USER:[email protected]_URL:PORT/ --keyserver keyserver.ubuntu.com --recv-keys GPG_KEY

И заменить соответственно заглавных букв. Если вы используете прокси-сервер, без каких-либо проверки подлинности пользователя (например, имя пользователя и пароль) использовать HTTP-прокси=HTTP://в PROXY_URL:порт/` вместо этого.

Например, чтобы GPG_KEY=C2514567EEA14886` вы можете использовать,

sudo apt-key adv --keyserver-options http-proxy=http://user:[email protected]:3128/ --keyserver keyserver.ubuntu.com --recv-keys C2514567EEA14886

где,

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

Если вы Don'т аутентификация пользователей просто использовать,

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

Наконец-то! Вам нужно установить https_proxy через:

export https_proxy=....

только набор http_proxy не хватает.

И мне нужно выполнить добавить-apt-репозитория команду как root, а не через sudo.

Код:

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

Похоже, что настройки прокси настроен, но почему-то сервер недоступен...

У меня была очень похожая проблема, которую я решить так: Корпоративный прокси-сервер позволяет только порт 80 и 443 по соображениям безопасности, так случае его установки, поскольку протокол ХКП используется порт 11371, она не позволит вам пройти.

Так, короткий СШ-ния и получить ключ от одного из ваших серверах снаружи, скачав ее и установив его локально, вы можете указать ключ сервера из перечисленных ниже и укажите порт:

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

например:

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

Бум, Вуаля!

Это четыре шага подход работал для меня на виртуальной машине с Ubuntu 17.04 за корпоративным прокси.

  1. `судо АПТ-добавить репозиторий PPA:сайт brightbox/рубиново-НГ и пусть он провалится
  2. судо АПТ обновление и посмотрите на сообщение об ошибке, как в следующем подписей не мог'т быть проверена, поскольку открытый ключ не доступен: F5DA5F09C3173AA6 NO_PUBKEY
  3. =HTTP в судо АПТ-ключ АДВ --сервер-параметры HTTP-прокси://10.0.2.2:3128 --сервера ключей://сервер.Убунту.сом:80 --приема-ключи F5DA5F09C3173AA6
  4. обновление судо АПТ-теперь будет работать

Обратите внимание, что хост-виртуальная машина работает CNTLM прокси-сервер на порту 3128.

Мне удалось обойти это путем редактирования `/usr/lib/python3/dist-packages/softwareproperties/ppa.py и при добавлении

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

под следующую строку

"--keyserver", self.keyserver,

Дополнительные сведения

ppa.py является Python скрипт, который используется добавить-apt-репозиторий с Гоб. Иногда там, кажется, ошибка с GPG, где его не использовать переменную среды http_proxy. Это может быть подтверждено путем просмотра файла/корня/.завершена установленного пакета dirmngr.conf` и проверяя, чтобы увидеть, что почитай-HTTP-прокси не закомментирована.

Причиной изменения вашего пользователям использовать sudo?` не работает, как ожидалось, вместо:

    Defaults env_keep="http_proxy"
    Defaults env_keep="https_proxy"
Ты должен был написать:

    Defaults env_keep+="http_proxy"
    Defaults env_keep+="https_proxy"
Также убедитесь, что пространство между по умолчанию и env_keep вкладка каждый раз.

То, что я сделать, это использовать HTTP через завиток вместо того, чтобы прокси-АПТ-ключ или GPG:

завиток -протокол SSL \ 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xBBEBDCB318AD50EC6865090613B00F1fd2c19886' \ | судо АПТ-ключ добавить -

Этот метод должен использоваться вместо АПТ-ключ командной строки или при или https_proxy переменные окружения, настройки (которые отключены в новейшей версии apt-ключ).

На самом деле, я сталкиваюсь с теми же проблемами, что's, как я нашел эту страницу.

  • переменные среды http_proxy (с учетом регистра) и https_proxy (на любой случай) что-то делать. Не установив для них не на первом этапе, установив переменные окружения, кажется, имеют какое-то влияние; это не удастся, если вы не'т экспортировать их

TCRKVMW ~ $ судо Су - TCRKVMW ~ # экспорт при=HTTP://в 10.54.0.4:8080/ TCRKVMW ~ # экспорт https_proxy=HTTP://в 10.54.0.4:8080/ TCRKVMW ~ # АДД-АПТ-репозиторий ppa:webupd8team/java с Вы собираетесь добавить следующие НПА: Оракул языке Java (JDK) в установщик (автоматическая загрузка и установка ПО Oracle JDK7 / JDK8 / JDK9). Нет никаких реальных Java-файлы в этом ППА. (остальные успешно на этот раз)

Дело в том, что иногда, он просто застрянет и заканчивается с обычным сообщением тайм-аут: Не могу добавить ППА: ' и"Ошибка чтения https://launchpad.net/api/1.0/~webupd8team/+архив/Ява: (7, 'не удалось подключиться к launchpad.net порт 443: превышено время ожидания подключения') и"'.

...но я'м обман, я'м делаешь все это как корень. Простое решение заключается в редактировании файла /etc/profile или, на Убунту/Минт, просто добавить скрипт в /etc/профиль.д:

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

Ах, да, там's также про локон (который используется apt-добавить-репозитории, кстати). В инструкции написано добавить .curlrc в вашем домашнем каталоге. Потому что apt-добавить-каталог это root'ы, это означает добавление его в /root/.curlrc:

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

Хорошая идея-сделать то же самое в свой ~/.curlrc

Кроме того, включение прокси в /etc/wgetrc это хорошая вещь, чтобы сделать, хотя это не имеет ничего общего с вопрос, который задают, я'м просто избавляя вас еще поиск в Google (если Вы читаете это, у вас есть несколько с прокси)...

Добавить ППА вручную в файле/etc/АПТ/источников.список:

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

Сохраните файл и выполните команду sudo apt-получить обновление`. Эта ошибка может выскочить:

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

Выполните следующую команду, чтобы принять ключ для НПА, не забывая менять ключ (5BB92C09DB82666C) на соответствующие НПА.

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

Выполнить команду sudo apt-получить обновление и вы'повторно сделано.

Реф: [как добавить запуска ППД в Debian с помощью добавить-apt-репозитория команду] (http://www.webupd8.org/2014/10/how-to-add-launchpad-ppas-in-debian-via.html)

Это помогло мне:

sudo https_proxy='https://user:[email protected]:port/' \
http_proxy='http://user:[email protected]:port/' \
ftp_proxy='ftp://user:[email protected]:port/' \
no_proxy=localhost,127.0.0.0/8,10.0.0.0/8 add-apt-repository ppa:webupd8team/java

Я думаю, что есть некоторые переменные окружения, которые не нужны в команде, но они не вредят.

В /etc/кв./пом.конф.д/01proxy добавить что-то вроде этого

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

Это прокси-сервер все загрузок способности, но я думаю, что это единственный способ, чтобы сделать это на backend. Если ваш прокси-сервер поддерживает это, вы можете также использовать URL-адрес http://my.proxy:port/www.target.site.com/url что я знаю, работает на АПТ-кэш-НГ

Я'м не уверен, если add-apt-репозитории себя использует эти параметры, но если вы не можете сделать эту работу, вы всегда можете добавить репозитории в файл/etc/АПТ/источников.списокили/etc/АПТ/источников.список.д/mytoolchain`

С 11.10 существует также кросс-toolchailable в основной РЕПО, просто apt-получить установку НКУ-АРМ-ОС linux-gnueabihf. Есть также кросс-инструментов, доступных с emdebian, и некоторые инструкции здесь: http://gsoc.sitedethib.com/posts/apt-get_install_gcc-4.7-arm-linux-gnueabihf/

Другое решение-добавить в АПТ прокси.файл conf, /и т. д./кв/АПТ.конф.д/прокси.confи

Acquire::http::Proxy "http://your.proxy.server.here.com:port/";
Acquire::https::Proxy "http://your.proxy.server.here.com:port/";

Выполните следующую команду в терминале

export http_proxy=http://username:[email protected]:port/
export ftp_proxy=http://username:[email protected]/

Системы переменные среды должны быть добавлены к /и т. д./среды (использовать sudo или gksu), но ошибка сообщает вам кажется, что государству нет данных Гоб был найден. Идеи:

  • проверьте настройки прокси-сервера (если есть доступ)
  • проверить, если прокси-то munging вывода зашифрованного трафика.
  • запустить непрерывный команды netstat, чтобы увидеть, если подключение к прокси-это на самом деле делается
  • последняя инстанция будет тсрйитр & проверить в Wireshark
  • попробовать туннель через HTTP ;)