
Eu uso o Debian 6. Estou atrás de um proxy, então configurei o Debian para usar esse proxy. A navegação e qualquer atividade HTTP e FTP através da GUI funcionam bem.
Eu queria atualizar meu repositório de pacotes, então digitei um shell:
sudo aptitude
então, se eu tentar atualizar o repositório (pressionando 'u'), o aptitude parará ao tentar acessar o servidor FTP do Debian, e esta ação eventualmente expirará.
Mas se tentar:
$ su
# aptitude
obras de atualização.
Qual é a diferença entre as duas invocações? As variáveis de ambiente $http_proxy
e $ftp_proxy
existem em ambos os shells.
Responder1
OsuO comando inicia outro shell como root (ou quem quer que seja, se você fornecer um nome de usuário e uma senha correta). Este shell obtém todas as variáveis de ambiente normais, o que obviamente inclui as variáveis HTTP_PROXY e FTP_PROXY. Assim funciona.
OsudoO comando REMOVE TODAS as variáveis de ambiente, exceto um subconjunto especificamente escolhido... que obviamente NÃO inclui as variáveis HTTP_PROXY e FTP_PROXY, portanto, seus comandos falham.
Você pode fazersudomantenha as variáveis *_PROXY editando o arquivo de configuração sudoers, usando ovisualcomando (é claro).
Adicionar o seguinte farásudomantenha os valores de HTTP_PROXY e FTP_PROXY:
Defaults env_keep += "http_proxy ftp_proxy https_proxy HTTP_PROXY FTP_PROXY HTTPS_PROXY"
Coincidentemente, se você adicionar DISPLAY & HOME a essa lista, você também poderá usar programas GUI com sudo (eles precisam da variável DISPLAY para se conectar)
Defaults env_keep += "DISPLAY HOME"
Você pode até adicionar essas duas linhas, assim. (O+=é a chave aqui) Lembre-se de adicionar essas linhas no final do arquivo, pois nas primeiras linhas geralmente define o 'env_keep'variável com uma reta'=', que apaga qualquer valor anterior.
Responder2
Eu estava lutando com isso sozinho e finalmente optei pela solução proposta no Ask Ubuntu: apt-get não funciona com proxy
Se a configuração
http_proxy
não funcionar, tente editarapt.conf
. No
Ubuntuapt.conf
está fragmentado em/etc/apt/apt.conf.d/
diretório.
Neste diretório edite/etc/apt/apt.conf.d/01ubuntu
:APT { Acquire { http { Proxy "http://user:password@server:port"; }; }; };