Разница между 'sudo apt-get' и 'sudo -E apt-get'

3

Я использую Ubuntu 15.10 гость на VMWare Player (7.1.3 build-3206955), а Windows 10 - как хост-система. Я могу использовать Firefox для просмотра веб-страниц в гостевой системе, однако я не могу использовать apt на терминале. Всякий раз, когда я вызываю команду sudo apt-get update , она застревает в 0% [connecting to in.archive.ubuntu.com] , наконец, не работает. Кроме того, использование sudo apt-get install <package> всегда приводит к тому, что пакет даже не найден. С другой стороны, использование тех же команд с флагом -E на sudo заставляет их работать. Может кто-нибудь объяснить, что здесь происходит?

EDIT : я забыл добавить, что я использую несколько интернет-соединений; один с прокси-сервером и один без него. Регулярное sudo работает на одном без прокси, но не на одном с ним.

    
задан Aditya Srivastava 01.04.2016 в 21:25
источник

1 ответ

5

Волшебное слово здесь proxy . В вашей среде будет установлен набор прокси-данных, который позволит вам получить доступ к Интернету.

Переменная окружения http_proxy содержит настройки прокси-сервера.
Выполните echo $http_proxy , чтобы увидеть их (возможно, $HTTP_PROXY ).

Если вы запустите sudo <command> , команда будет выполнена в своей среде как root . Если вы добавите опцию -E в sudo , команда будет выполнена как root , но большая часть вашей среды скопирована.

Вы можете проверить это, выполнив следующие три команды:

  • env
  • sudo env
  • sudo -E env
ответ дан NZD 02.04.2016 в 09:05
источник