Почему add-apt-repository теперь не может получить ключи за моим прокси-сервером, но я могу обновлять списки пакетов и получать ключи вручную?

Я использую Ubuntu 14.04 и 12.04 с последними обновлениями за прокси-сервером в моей школе. У меня не было проблем несколько месяцев назад. Тем не менее, в течение последних двух месяцев, когда я пытаюсь добавить хранилище с add-apt-repository ключ не найден. Я могу тогда использовать sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY с успехом, но это раздражает. Я создал сценарии, которые добавляют PPA, устанавливают программное обеспечение и т. Д., Которые теперь не работают из-за этой проблемы.

Должен ли я подавать отчет об ошибке? Если так, может кто-нибудь, пожалуйста, направьте меня туда, куда подать.

Вот как выглядит вывод моего терминала при попытке добавить PPA для индикатора my-weather:

$ sudo add-apt-repository ppa: atareao / atareao Приложения от atareao Дополнительная информация: https://launchpad.net/~atareao/+archive/ubuntu/atareao Нажмите [ENTER], чтобы продолжить, или ctrl-c, чтобы отменить добавление. gpg: keyring `/tmp/tmp16ytp9px/secring.gpg'создан gpg: keyring `/tmp/tmp16ytp9px/pubring.gpg' создан gpg: запрашивается ключ 36FD5529 с hkp-сервера: действительные данные OpenPGP не найдены. gpg: общее количество обработанных: 0 $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36FD5529 Выполнение: gpg --ignore-time -ликт --no-options --no-default-keyring - -homedir /tmp/tmp.fla11h2USs --no-auto-check-trustdb --trust-модель всегда --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/steam.gpg --keyserver keyserver.ubuntu.com --recv-keys 36FD5529 gpg: запрос ключа 36FD5529 с hkp-сервера keyserver.ubuntu.com gpg: ключ 36FD5529: открытый ключ "Панель запуска PPA для atareao"импортировал gpg: общее количество обработано: 1
gpg: импортировано: 1  (RSA: 1)

Обновление: я смог заставить его работать с -E параметр для sudo, поэтому команда, которая работает sudo -E add-apt-repository ppa:atareao/atareao, Тем не менее, я не понимаю, почему раньше все работало без этого, а сейчас - нет. Кроме того, это не объясняет, почему другие команды с sudo работать без -E параметр. Это решение взято из Ubuntu 10.10.

1 ответ

Решение

Вы сталкиваетесь с двумя проблемами:

  1. add-apt-repository полагается на существование правильного http_proxy а также https_proxy ценности.

  2. sudo не будет использовать все текущие значения среды. Вероятно, из соображений безопасности. Есть две возможности, как преодолеть это:

    1. Вызов sudo -E add-apt-repository <additional-options>

      Это будет использовать всю текущую среду.

    2. Вы можете настроить sudo автоматически копировать http_proxy а также https_proxy тоже. Сделай это:

      sudo visudo
      

      Добавьте следующие строки:

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

      Явно скопировано с этого ответа.

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