[Linux] Local Yum repo 구성하기

Joseph's Engineering Blog·2023년 11월 8일
0

linux

목록 보기
1/1
post-thumbnail

포스팅 이유

Cent OS(혹은 RHEL)에서 Yum repo를 구성하는 방법을 알아보고자 함.



1. Yum repo 구성 전 알아보기

폐쇄망 환경에서 외부의(인터넷이 연결 된) yum repository를 접근할 수 없는 상황에서 rpm 설치를 위해 yum repository를 내부에 구성하여 사용할 수 있습니다.

이번 포스팅에서는 local yum repo를 구성하여 폐쇄망 환경에서 외부 repo 접근없이 rpm 패키지를 설치 할 수 있게 구성해 보겠습니다.

다음 절차들은 모두 root 권한으로 진행합니다.



2. Yum repository 구성 사전 작업

가장먼저 Yum repository를 구성해야합니다. repo에 넣을 패키지들은 미리 외부 통신이 가능한 서버에서 다운을 받습니다.

패키지 다운 받는 방법
1. yum-utils 설치

yum install yum-utils
  1. 패키지 다운로드
yumdownloader --resolve { 받을 패키지 명 }
ex) yumdownloader --resolve net-tools

--resolve 옵션을 넣으면 해당 패키지의 의존성 패키지도 같이 받을 수 있습니다. 
(의존성의 의존성의 경우 수동으로 찾아야함..)
  1. createrepo 패키지 다운로드
    yum repo를 만들기 위해 createrepo 패키지가 필요합니다.
mkdir createrepo
cd createrepo
yumdownloader --resolve createrepo

다운 받은 rpm들을 하나의 디렉토리를 만들어 모아줍니다.

여기서는 local-repo라는 이름으로 디렉토리를 만들었습니다.

# 디렉토리 구성
mkdir local-repo
mkdir local-repo/pkgs

# 다운 받은 rpm 옮기기
mv *.rpm local-repo/pkgs

# 다운 받은 createrepo 패키지 옮기기
mv createrepo local-repo/pkgs

이제 files-repo 디렉토리를 ftp나 scp를 이용해 yum repo를 구성할 서버로 옮겨줍니다.

scp -r local-repo { 보낼 서버 주소}:{ 저장할 절대 경로 }

## 예시
scp -r local-repo 192.168.0.11:/root


3. Yum repository 구성하기

이제 구성할 서버에 들어가 앞에서 가져온 createrepo 패키지를 먼저 설치해줍니다.

mv /root/local-repo local-repo
cd /local-repo

# createrepo 설치
yum install pkgs/createrepo/*.rpm

이후 다음 절차에 따라 진행합니다.

# local yum repo 구성
pushd /local-repo
createrepo_c ./
popd

# 기존  repo 파일 백업
mkdir /root/repo_bck
mv /etc/yum.repos.d/* /root/repo_bck

# repo 파일 생성
vi /etc/yum.repos.d/local-repo.repo

## local-repo.repo 파일
[local-repo]
name=local-repo
baseurl=file:///local-repo 
enabled=1
gpgcheck=0

# repo 구성 확인
yum repolist

repo가 구성됐는지 확인하여 정상적으로 구성이 되었으면 아래와 같은 결과를 확인할 수 있습니다.

넣은 패키지가 잘 조회되는지 확인해보면

yum clean all

yum list | grep local-repo

다음과 같이 조회가 정상적으로 되는것을 확인할 수 있습니다.



4. rpm 파일 추가하기

local yum repo 구성 후 추가로 필요한 rpm을 넣어주는 방법을 알아보겠습니다.

우선 필요한 rpm을 외부망 통신이 가능한 환경에서 미리 다운받아 준비하여 반입합니다. (다운 방법은 위에서 진행한 방법과 동일)

이후 아래의 방법에 따라 진행합니다.

# rpm 파일 넣기
cp *.rpm /local-repo/pkgs

cd /local-repo

# 추가된 파일 반영
createrepo .

# cache 지워주기
yum clean all

# 추가한 rpm 반영 여부 조회
yum list | grep local-repo

실제 위 절차로 진행하여 다음과 같이 진행되면 정상적으로 반영된 것을 확인할 수 있습니다.



5. 마무리

추후 여기서 구성한 local yum repo를 httpd를 사용하여 웹으로 띄운 후 다른 서버(노드)에서 접근하여 사용할 수 있도록 구성하는 방법에 대해 포스팅하겠습니다.

profile
Kubernetes / DevOps / Git / Network / AWS / Terraform / Opensource / Java / Springboot

0개의 댓글