본문 바로가기
Linux Unix

[ Linux ] local yum repository 만들기

by 정윤재 2020. 5. 17.

인터넷이 연결 안되는 내부망에서 yum 을 사용하고 싶을 경우가 실무에선 많습니다.

그럴 경우 아래와 같이 구축 해서 사용하면 될 것 같습니다.

0. 제가 구축한 환경은 아래와 같습니다.

   centos 7

   

1. 어떤 repository  에서 가져올 것인지 결정 합니다.  

        www.centos.org/download/mirrors/ 사이트에 가서 어떤 repository 에서 다운로드 받은 내용을

      나의 yum repository 로 가져올 것인지 결정 합니다. 현재 시간 (2020/05/03) 기준으로 한국 mirror 는

      3개가 있습니다.

 

      http://ftp.kaist.ac.kr/CentOS/

      http://mirror.kakao.com/centos/

      http://mirror.navercorp.com/centos/

 

      3개 다 내용은 비슷할 거라 생각 됩니다. 아무거나 고르면 되겠죠.

     저는 kaist 로 하겠습니다.

 

2. Repository 의 내용들을 다운로드 받을 곳을 결정하고 디렉토리를 만듭니다.

   저는 /etc/yum/repository 로 하겠습니다.

#mkdir -p /etc/yum/repository

 

3. wget으로 repository 내용을 다운로드 받습니다.

 #wget -m -nH -np -R "index.*,*.iso" -P "/etc/yum/repository/" "http://ftp.kaist.ac.kr/CentOS/7/"

 

4. 저는 epel 쪽 내용도 필요하므로 아래 내용도 받습니다.

 #wget -m -nH -np -R "index.*,*.iso" -P "/etc/yum/repository/" "http://ftp.iij.ad.jp/pub/linux/Fedora/epel/7/x86_64/"

 

5. Apahce 이 doc root 에 ln 으로 링크 걸어 줍니다.

 ln -s /etc/yum/repository/CentOS /app/apache2.4.41/htdocs/CentOS

 ln -s /etc/yum/repository/pub/linux/Fedora/epel /app/apache2.4.41/htdocs/epel

 

6. yum 으로 패키지를 받을 Repo list 변경 (원격에서 받는 yum 으로 받을 서버 또는 PC)

   /etc/yum.repos.d 안에 파일을 백업 받고 CentOS-Base.repo 파일의 내용을 수정 합니다.

   (없으면 디렉토리와 파일 만들어 주면 됩니다.)

  그러기 위해선 우선 아래 내용을 해야 합니다.

   yum install -y epel-release 로 설치 한후 받고 /etc/yum.repos.d/epel.repo 내용 수정이 필요합니다.

[base]

baseurl=http://192.168.101.130/CentOS/$releasever/os/$basearch/

gpgcheck=0

이런식으로 apache 를 통해 yum 을

 

받을 수 있게 해줍니다.

 

앞에서도 말씀드린 대로 저는 epel 도 필요하므로

 

/etc/yum.repos.d안의 epel.repo 내용도 아래와 같이 수정 합니다.

[epel]

baseurl=http://192.168.101.130/epel/7/$basearch

enabled=1

gpgcheck=0

7. yum -y install ansible 로 설치 해보면 됩니다.


댓글