Yum이 특정 도메인에 프록시를 사용하지 않도록 지정하는 방법


12

yum이 프록시 구성을 우회해야하는 도메인을 지정할 수 있습니까? 이것이 불가능하다는 것을 두려워합니다 ...

HTTP_PROXY그때 환경 변수를 사용할 수 있다는 것을 읽었 NO_PROXY습니다. 가장 우아한 솔루션입니까?

[편집하다]

환경 변수를 사용하여 솔루션을 시도했습니다.

export HTTP_PROXY=http://user:pass@host:port
export http_proxy=http://user:pass@host:port
export no_proxy=.domain
export NO_PROXY=.domain

Yum은 프록시를 사용하지만 repos * .domain은 무시되지 않습니다.

[해결 방법]

http://cntlm.sourceforge.net/을 사용하여 무시해야 할 도메인을 구성 할 수 있습니다. 그러나 이것은 NTLM 인증이 필요한 프록시에서만 가능합니다 ...

답변:


26

여기에 설명 된대로 환경 변수를 사용 하여이 작업을 수행 할 수 없었습니다. Yum은 프록시 자체를 지원하므로 다음과 같은 작업을 수행 할 수 있어야합니다.

proxy=http://proxy:port

안으로 yum.conf그리고 추가

proxy=_none_

리포지토리 정의에 글로벌 프록시를 통해 액세스하고 싶지 않습니다. 이 내용은 yum.conf 매뉴얼 페이지에 간결하게 설명되어 있습니다.


마침내 성공했습니다. 감사! 내가 한 곳에서 다시 모든 호스트를 거치고 싶지 않습니다. 그러나 프록시가 필요하지 않은 내부 패키지 관리자를 사용하는
리포지토리

1
proxy=_none_훌륭합니다, 고마워요 그것은 멋진 소스가 가득한 배입니다. :)
Scottie H

@erikbwork 방금 proxy=http://proxy:port.repo 파일 에 a 를 추가했는데 효과가있었습니다. 그게 당신이 묻는 것입니까?
Scottie H

4

이 질문을 올바르게 이해하면 원하는 행동은

packages.centos.com 은 프록시를 통해 가져옵니다.

packages.internal.lan 은 프록시를 거치지 않고 직접 연결됩니다.

방금 Google 에서이 작업을 수행하는 방법을 여기에 도달했으며 위의 정보를 사용하여 원하는 것을 달성했지만 위의 답변이 완전한지 확실하지 않습니다.

이를 위해 다음을 사용했습니다.

export HTTP_PROXY=http://myproxy.internal.lan:port

export no_proxy=internal.lan

yum install package1 package2

package1 은 프록시를 통해 인터넷에서 가져 왔습니다.

프록시를 거치지 않는 로컬 미러에서 package2 를 가져 왔습니다.


3

내 솔루션에는 간단한 http 프록시 인 Privoxy를 설정하는 것이 포함됩니다.

얌 설치 privoxy

/ etc / privoxy / config에 두 개의 정방향 절을 추가하십시오.

 forward / myproxy.internal.lan:3128
 forward .internal.lan .

또한 privoxy의 기본 동작을 비활성화하십시오 (헤더가 손상되지 않았는지 확인하십시오) : (RHEL5 privoxy 구성의 @line 175)

#actionsfile standard  # Internal purpose, recommended
#actionsfile default   # Main actions file
#actionsfile user      # User customizations

그런 다음 http_proxy 및 ftp_proxy 환경 변수를 privoxy의 포트로 설정하십시오.

선언 -x http_proxy = http://127.0.0.1:8118

선언 -x ftp_proxy = http://127.0.0.1:8118

yum 설치 package1 package2

참고 : yum.conf에 프록시 줄이 있으면이를 제거하면 환경 변수가 무시됩니다.


나는 privoxy에서 호스트를 허용하는 방법을 찾고 있었고 여기에 내 대답이 있습니다 :)
ahmadali shafiee

2

repo 파일에서 지정할 수 있습니다. 예를 들면 다음과 같습니다.

[hduser@n0 cloudera-manager-installer]$ cat /etc/yum.repos.d/cloudera-cdh4.repo  
[cloudera-cdh4]  
name=Cloudera's Distribution for Hadoop, Version 4  
baseurl=http://"yourhost"/cdh4/  
gpgcheck = 0
enabled=1
proxy=_none_

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.