답변:
일부 릴리스에서는 sudo가 명령을 실행할 때 모든 환경 변수가 모두 지워지도록 구성됩니다. http_proxy 의 값을 유지하고 이를 수정하려면 / etc / sudoers를 편집하고 다음을 실행해야합니다.
visudo
그런 다음 줄을 찾으십시오.
Defaults env_reset
그리고 그 뒤에 추가하십시오 :
Defaults env_keep = "http_proxy ftp_proxy"
상황이 예상대로 작동하기 시작합니다.
이에 대한 해결책 을 찾은 Ubuntu 포럼의 kdogksu 에게 감사합니다 .
apt-get뿐만 아니라 그래픽 X11 utils (예 : 시냅틱, mintintall, ...)를 수정하려면 다음 줄 /etc/sudoers
이 작업을 수행해야합니다.
Defaults env_keep = "http_proxy https_proxy ftp_proxy DISPLAY XAUTHORITY"
이것을 사용하십시오.
ubuntu@ubuntu:~$ cat /etc/apt/apt.conf
Acquire::http::Proxy "http://Username:Password@proxy.foo.bar.edu.au:8080";
이것이 내가 사용하는 것입니다. 완벽하게 작동합니다.
Apt를 사용하면 파일 아래에 개별 설정을 배치 /etc/apt/apt.conf.d/
할 수 있으므로 위와 동일한 효과가 있지만 .conf
파일에 다른 줄이 있으면 유지 관리가 더 쉬울 수 있습니다 .
ubuntu@ubuntu:~$ cat /etc/apt/apt.conf.d/05proxy
Acquire::http::Proxy "http://Username:Password@proxy.foo.bar.edu.au:8080";
apt.conf
.
/etc/apt/apt.conf
거나 구성 파일을 사용할 수 있습니다 /etc/apt/apt.conf.d
.... 둘 다 작동합니다! :-)
E: Syntax error /etc/apt/apt.conf:2: Extra junk at end of file
나를 위해 일한 것은 다음과 같습니다.
sudo http_proxy=http://yourserver apt-get update
단순히 http_proxy를 내 보낸 다음 sudo echo $ http_proxy를 실행하여 내 보낸 값을 출력하기 때문에 약간 이상합니다.
$http_proxy
sudo가 실행되기 전에 확장됩니다.
export http_proxy=http://proxyusername:proxypassword@proxyaddress:proxyport
sudo apt-get update
내보내기는 필요하지 않으며 sudo
프록시가 익명 인 경우 해당 proxyusername:proxypassword@
부분을 버립니다 .
wget
합니까?
그것은 경우 일시적인 구성은 , 당신이 시도 할 수 : sudo는 bash는 -c 'HTTP_PROXY = "HTTP를 : // <proxy_host> <PROXY_PORT> /"업데이 트를 apt-get을'
"root"계정에 대해 환경 변수를 정의해야하므로이 옵션이 필요합니다. 이전에 수행 및 내보내기가 작동하지 않아야합니다.
영구적 인 구성을 위해서는 시스템 파일을 수정해야합니다. 이것은 네트워크 프록시가 실제로 적용되는지 확인하는 방법 에 대한 다음 답변에 이미 설명되어 있습니다 . .
우분투는 프록시 인증에 엄청나게 적대적입니다. 나는 직장에서 우분투 랩톱을 사용하고 있으며 파손 횟수는 놀랍습니다.
시냅틱, Apt, Firefox, Chromium 등은 모두 프록시를 지정하기 위해 서로 다른 방법을 사용하므로 자격 증명을 안전하게 지정할 수있는 곳이 없습니다.
주제에 대한 몇 가지 버그 : https://bugs.edge.launchpad.net/ubuntu/+source/msttcorefonts/+bug/220070
https://bugs.edge.launchpad.net/ubuntu/+source/apt-cacher/+bug/198138
https://bugs.edge.launchpad.net/ubuntu/+source/apt/+bug/433827
https://bugs.edge.launchpad.net/ubuntu/+source/b43-fwcutter/+bug/683630
수출을 사용하겠다는 Oli의 제안은 그것을 막는 유일한 모호한 방법입니다. 프록시 서버가 보조 인증을 사용하여 주 인증 서버 (예 : Active Directory)의로드를 최소화하는 경우 프록시 지원을 "퍼지"할 수도 있습니다. 여기서 프록시에 의해 AD에 대해 첫 번째 프록시 연결이 인증 된 다음 설정된 기간 (일반적으로 5 분) 동안 다른 모든 연결은 해당 사용자로 "신뢰"됩니다. 따라서 파이어 폭스를 열고 인터넷을 탐색하고 (어디서나 할 수 있음) 프록시를 지정하여 유틸리티 (wget, synaptic 등)를 시도 할 수 있지만 사용자 이름은 비워 둘 수 있습니다.
우분투는 일반적으로 암호를 쉽게 읽을 수 있기 때문에 모든 기업 환경에 적대적입니다. Seahorse는 주요 범인이지만 Network Manager도 충격적입니다. PEAP 인증 네트워크에 연결하면 누구든지 랩톱을 빌릴 수있는 사람을 볼 수 있도록 애플릿에 암호를 저장했습니다. 해마 개발자들이 불안에 대한 주장을 거부했기 때문에 분명히 리눅스 공유에서 노트북 공유는 희생으로 간주됩니다. 그 후 네트워크 관리자 개발자에게 연락 할 마음이 없었습니다.
편집 했습니까 /etc/apt/apt.conf
? 나는 이것을 회사 프록시 뒤에 적절하게 사용합니다.
Acquire::http::proxy "http://user:password@host:port/";
쉘 환경에 $ http_proxy가 정의되어 있지 않으면 apt가이 값을 사용한다고 생각합니다 (예 : $ http_proxy가 우선).
apt.conf
여전히 사용해야합니다. a를 사용하여 적절하다고 생각하는 구성 설정을 확인할 수 있습니다 apt-config dump
.
명령 줄에서 프록시를 통해 "sudo apt-get update"를 실행하려면 아래 명령을 사용하십시오.
sudo apt-get -o Acquire::http::proxy="http://user:password@host:port/" update;