Diferença entre 'sudo apt-get' e 'sudo -E apt-get'

3

Estou usando o convidado do Ubuntu 15.10 no VMWare Player (7.1.3 build-3206955), com o Windows 10 como sistema operacional host. Eu sou capaz de usar o Firefox para navegar na web dentro do convidado, no entanto não consigo usar apt no terminal. Sempre que eu invoco o comando sudo apt-get update , ele fica preso em 0% [connecting to in.archive.ubuntu.com] , finalmente falhando. Além disso, usar sudo apt-get install <package> sempre faz com que o pacote não seja encontrado. Por outro lado, usar os mesmos comandos com o sinalizador -E no sudo os faz funcionar. Alguém pode explicar o que está acontecendo aqui?

EDIT : esqueci de acrescentar que estou usando várias conexões de internet; um com proxy e outro sem. O sudo regular funciona em um sem proxy, mas não em um com ele.

    
por Aditya Srivastava 01.04.2016 / 21:25

1 resposta

5

A palavra mágica aqui é proxy . Em seu ambiente, você terá um conjunto de informações de proxy que permite acessar a Internet.

A variável de ambiente http_proxy contém suas configurações de proxy.
Execute echo $http_proxy para vê-los (talvez $HTTP_PROXY ).

Se você executar sudo <command> , o comando será executado em seu próprio ambiente como root . Se você adicionar a opção -E a sudo , o comando será executado como root , mas com a maior parte do seu ambiente copiado.

Você pode verificar isso executando os três comandos a seguir:

  • env
  • sudo env
  • sudo -E env
por NZD 02.04.2016 / 09:05