Back-end/Linux

[linux] yum daum 저장소 설정(yum install 에러 해결: Could not resolve host: None; Unknown error)

cheersHena 2021. 2. 25. 20:38
반응형

리눅스 환경에서 작업시 가장 멘붕오는 상황은  yum이 막혀있을때다........ ha .....

 

* YUM (Yellodog Updater Modified)이란 ? 

리눅스의 패키지 설치 프로그램.
인터넷을 통해서 필요한 파일을 저장소에서 자동을 모두 다운로드 해서 설치하는 방식.

단, yum은 외부 레파지토리 서버랑 통신해야하기 때문에 네트워크 설치 후 사용 가능하다.

 

yum 사용이 불가한 경우

에러코드:

Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
Could not retrieve mirrorlist https://None/pulp/mirror/rhui-client-config/rhel/                                            server/7/x86_64/os error was
14: curl#6 - "Could not resolve host: None; Unknown error"


 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem                                            .

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>
        or
            subscription-manager repos --disable=<repoid>

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: rhui-REGION-client-config-server-7/x86_64

1. 방화벽때문에 인터넷이 막혀서 외부 레파지토리에 접근할 수 없는경우.

 - yum레파지토로 접근할수 있도록 해당 url 의 80포트를 방화벽 오픈해주어야 한다. 

 

 >>해결법: 업체에 방화벽 오픈 요청을 한다 

 

2. DNS서버 설정이 되어있지 않아서 기본레포지토리 url을 인식하지 못하는 경우. 

 - DNS서버 설정을 해주어야 한다. 

 

>>해결법: 

 1) DNS설정파일인  resolv.conf파일을 열어서 확인 및 설정을 한다.

vi /etc/resolv.conf

 2) nameserver와 ip를 입력한다. 여러개인 경우, 아래에 추가한다. 

nameserver 8.8.8.8 [구글dns]
nameserver 10.10.10.10 [사내별도 dns사용하는경우]

 3) network재시작 하면 적용된다.

service network restart

 

3.  80포트 any 오픈 상황임에도 불가한 경우도 있다. 

 1) CentOS 기본 저장소 centos 의 저장소(해외)인데, 보안상 해외 url 오픈이 불가한 경우

 2) DNS서버를 구글(8.8.8.8)등 이 아닌 사내 DNS를 사용하는 경우, centos가 등록되지 않아 인식하지 못하는 경우 

 

이런 경우에는 yum 저장소(CentOS-Base.repo)의 위치(centos url)를 변경해야한다. 

해당 포스팅에서는 yum 저장소를 Daum 저장소로 변경해보겠다. 

 

1.기존 저장소를 압축보존한다. (기존의 저장소가 존재하면 에러남.)

1. 기존repo 파일을 bz2로 압축
bzip2 /etc/yum.repos.d/CentOS-*.repo 


2. 확인 
yum repolist 

[확인시 repolist:0 이 나와야한다.]

3. Daum.repo 파일 생성.

/etc/yum.repos.d/ 폴더에 Daum.repo파일을 만든다.

 

1. Daum.repo 파일생성 명령어 

echo '[base]
name=CentOS-$releasever - Base
baseurl=http://ftp.daumkakao.com/centos/$releasever/os/$basearch/
gpgcheck=0 
[updates]
name=CentOS-$releasever - Updates
baseurl=http://ftp.daumkakao.com/centos/$releasever/updates/$basearch/
gpgcheck=0
[extras]
name=CentOS-$releasever - Extras
baseurl=http://ftp.daumkakao.com/centos/$releasever/extras/$basearch/
gpgcheck=0' > /etc/yum.repos.d/Daum.repo

2. 확인
yum repolist

[확인시 7,949개의 repo파일리스트가 조회될 것이다.]

 

4. yum update 또는 install 명령어를 날려보자. 잘 된다면 성공! 

 

 

5. 원복. 다시 CentOS 기본 저장소를 사용하고 싶은경우.

Daum.repo 파일을 삭제하고 CentOS repo파일들을 복원한다. 

rm -f /etc/yum.repos.d/Daum.repo
bunzip2 /etc/yum.repos.d/CentOS-*

yum repolist

 

 

 

 

반응형