Как я могу заставить add-apt-repository работать через прокси?

Я рекомендую вам использовать «touchpad-indicator» - индикаторный апплет для легкого управления вашим сенсорным планшетом. Инструкции по установке приведены в этой ссылке.

http://www.webupd8.org/2011/02/touchpad-indicator-now-automatically.html

1
задан 13 April 2017 в 15:23

12 ответов

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

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

И соответственно замените заглавные буквы. Если вы используете прокси без аутентификации пользователя (т. Е. Имя пользователя и пароль), используйте http-proxy=http://PROXY_URL:PORT/.

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

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

где

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

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

sudo apt-key adv --keyserver-options http-proxy=http://10.10.2.21:3128/ --keyserver keyserver.ubuntu.com --recv-keys C2514567EEA14886
34
ответ дан 25 May 2018 в 19:49
  • 1
    Это окончательное решение! THAANKS! – linello 28 February 2014 в 16:54
  • 2
    Это фактически не "исправление" выполнение команды add-apt-repository. Действительно, он работает над одной из своих задач. Требуется хотя бы одна дополнительная команда: sudoedit /etc/apt/sources.list.d/XXXX.list + ручная версия, чтобы добавить URL-адреса deb ... – Chucky 2 December 2014 в 15:24
  • 3
    Это лучший ответ. – Vik 12 January 2016 в 16:06
  • 4
    Это также сработало для меня. Благодарим вас за подробное объяснение. – Chuck Conway 4 February 2016 в 20:14
  • 5
    Было бы идеально, если бы вы добавили некоторую информацию о том, как исправить прокси вечно. Решение, которое вы предоставили, требует много ввода – Danatela 12 January 2017 в 15:14
Наконец-то! Вам нужно установить https_proxy с помощью:

export https_proxy=....

только установить http_proxy недостаточно.

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

Код:

sudo su
add-apt-repository ppa:........
8
ответ дан 25 May 2018 в 19:49

Кажется, настроена конфигурация прокси, но с каким-то образом невозможно связаться с сервером ...

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

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

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

например:

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

Boom, Voila!

6
ответ дан 25 May 2018 в 19:49
  • 1
    Ага. Для меня это работало при установке Mono на Debian 7: sudo -E apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF – ken 14 April 2015 в 17:41

Причина, по которой ваше изменение sudoers не срабатывало, как ожидалось, заключается в том, что вместо:

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

Вы должны были написать:

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

Также убедитесь, что пространство между Defaults и env_keep является вкладкой каждый раз.

3
ответ дан 25 May 2018 в 19:49

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

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

в следующей строке

"--keyserver", self.keyserver,

Дополнительная справочная информация

[ f4] - скрипт python, который используется add-apt-repository для вызова gpg. Иногда иногда появляется ошибка с gpg, где она не использует переменную окружения http_proxy. Это можно подтвердить, просмотрев файл /root/.gnupg/dirmngr.conf и проверив, что honor-http-proxy не закомментирован.

2
ответ дан 25 May 2018 в 19:49

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

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

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

1
ответ дан 25 May 2018 в 19:49

Добавьте PPA вручную к вашему /etc/apt/sources.list:

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

Сохраните файл и запустите sudo apt-get update. Эта ошибка может появиться:

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

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

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

Запустите sudo apt-get update, и все готово.

Ссылка: Как добавить PPAP Launchpad в Debian через add-apt-repository Команда

1
ответ дан 25 May 2018 в 19:49

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

переменные окружения http_proxy (с учетом регистра) и https_proxy (в любом случае) что-то делают. Невозможность их сбой на первом этапе, установка переменных окружения действительно имеет некоторый эффект; он будет терпеть неудачу, если вы не экспортируете их
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.
(остальное будет успешным - на этот раз)

Дело в том, что иногда он просто застревает и заканчивается обычным сигналом таймаута: не удается добавить PPA : «Ошибка чтения https://launchpad.net/api/1.0/~webupd8team/+archive/java: (7,« Не удалось подключиться к портам launchpad.net 443: время ожидания подключения »).« [!d5 ]

... но я обманываю, я делаю все это как root. Простое решение - отредактировать / etc / profile или, на Ubuntu / Mint, просто добавить скрипт в /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}'

О, да, есть и эта вещь о завитке ( который, кстати, используется apt-add-repository). В руководстве сказано добавить .curlrc в ваш домашний каталог. Поскольку apt-add-directory является собственностью root, это означает добавление его в /root/.curlrc:

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

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

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

1
ответ дан 25 May 2018 в 19:49

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

sudo apt-add-repository ppa:brightbox/ruby-ng и пусть он сбой sudo apt update и ищет сообщение об ошибке, например The 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 теперь будет работать

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

1
ответ дан 25 May 2018 в 19:49
  • 1
    Вам не нужно ждать, пока apt скажет вам, что это за ключ. Он находится в технических деталях PPA : «Отпечаток: 80F70E11F0F0D5F10CB20E62F5DA5F09C3173AA6». – muru 14 December 2017 в 07:37
  • 2
    Это правда, но я нашел этот процесс немного легче. – thegreendroid 14 December 2017 в 08:53

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

export http_proxy=http://username:password@proxyserver.net:port/
export ftp_proxy=http://username:password@proxyserver.netport/
0
ответ дан 25 May 2018 в 19:49

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

проверьте настройки прокси-сервера (если у вас есть доступ) проверьте, как прокси-сервер каким-то образом перехватывает вывод зашифрованного трафика. запустите непрерывный netstat, чтобы убедиться, что соединение с прокси-сервером на самом деле делается в последнюю очередь, было бы tcpdump & amp; проверить в проходах, попробуйте http-туннель;)
0
ответ дан 25 May 2018 в 19:49

В /etc/apt/apt.conf.d/01proxy добавьте что-то вроде этого

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

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

Я не уверен, что сам метод add-apt-repository использует эти параметры, но если вы не может сделать эту работу, вы всегда можете добавить репозиторий к своим /etc/apt/sources.list или /etc/apt/sources.list.d/*mytoolchain*

. Начиная с 11.10 в основном репо есть также cross-toolchailable, просто apt-get install gcc-arm-linux-gnueabihf. Есть также перекрестные инструментальные средства, доступные на emdebian, и некоторые инструкции здесь: http://gsoc.sitedethib.com/posts/apt-get_install_gcc-4.7-arm-linux-gnueabihf/

0
ответ дан 25 May 2018 в 19:49
  • 1
    user72421: как вы узнали, что прокси должно быть префикс 01, а не другим номером? – jgomo3 28 September 2013 в 04:22
  • 2
    Не работает с apt-get & amp; сервера ключей – Vik 12 January 2016 в 16:07

Другие вопросы по тегам:

Похожие вопросы: