sudo로 호출된 프록시를 통해 적성이 제대로 작동하도록 만들기

sudo로 호출된 프록시를 통해 적성이 제대로 작동하도록 만들기

저는 Debian 6을 사용합니다. 저는 프록시 뒤에 앉아 있으므로 해당 프록시를 사용하도록 Debian을 구성했습니다. GUI를 통한 탐색과 모든 HTTP 및 FTP 활동은 정상적으로 작동합니다.

패키지 저장소를 업데이트하고 싶어서 셸에 다음을 입력했습니다.

sudo aptitude

그런 다음 repo를 업데이트하려고 하면('u' 누르기) 데비안의 FTP 서버에 연결하려고 시도하는 동안 적성이 중지되고 이 작업은 결국 시간 초과됩니다.

하지만 시도해 보면:

$ su
# aptitude

업데이트 작업.

두 호출의 차이점은 무엇입니까? $http_proxy및 환경 $ftp_proxy변수는 두 셸 모두에 존재합니다.

답변1

그만큼명령은 다른 쉘을 루트(또는 사용자 이름과 올바른 비밀번호를 제공하는 경우 누구든지)로 시작합니다. 이 셸은 HTTP_PROXY 및 FTP_PROXY 변수를 포함하는 모든 일반 환경 변수를 가져옵니다. 따라서 작동합니다.

그만큼sudo명령은 특별히 선택한 하위 집합을 제외한 모든 환경 변수를 제거합니다. 물론 HTTP_PROXY 및 FTP_PROXY 변수를 포함하지 않으므로 명령이 실패합니다.

당신은 할 수 있습니다sudosudoers 구성 파일을 편집하여 *_PROXY 변수를 유지합니다.비쥬도(물론) 명령.

다음을 추가하면sudoHTTP_PROXY 및 FTP_PROXY 값을 유지합니다.

Defaults env_keep += "http_proxy ftp_proxy https_proxy HTTP_PROXY FTP_PROXY HTTPS_PROXY"

우연히도 해당 목록에 DISPLAY & HOME을 추가하면 sudo와 함께 GUI 프로그램도 사용할 수 있습니다(연결하려면 DISPLAY 변수가 필요함).

Defaults env_keep += "DISPLAY HOME"

이렇게 두 줄만 추가해도 됩니다. (그만큼+=여기서 핵심입니다.) 파일 끝 부분에 이 줄을 추가하는 것을 기억하세요. 처음 몇 줄에서는 일반적으로 'env_keep' 직선이 있는 변수 '=', 이전 값을 지웁니다.

답변2

나는 이 문제로 어려움을 겪고 있었고 마침내 Ask Ubuntu에서 제안된 솔루션을 사용했습니다. apt-get이 프록시와 작동하지 않습니다

설정이 http_proxy작동하지 않으면 편집해 보십시오 apt.conf.
우분투 에서는 디렉토리 apt.conf가 조각화되어 있습니다 . 이 디렉토리에서 다음을 편집하십시오 ./etc/apt/apt.conf.d/
/etc/apt/apt.conf.d/01ubuntu

APT {
  Acquire {
      http {
          Proxy "http://user:password@server:port";
      };
  };
};

관련 정보