Linux/패키지 관리 / / 2023. 3. 19. 00:47

리눅스 패키지 관리 ③Rocky Linux 환경에서 CentOS7 패키지 repository 구성하기

반응형

이번 포스팅은 Rocky Linux 9 CentOS-7-x86 환경에서 테스트를 하고

 

패키지 도구는 dnf를 주로 사용하니 참고해주세요


 

 

 

 

현재 제 cd-rom에는 C:\02_ISO\CentOS-7-x86_64-Minimal-2009.iso 파일이 있습니다.

 

 

 

 

 

이번 포스팅 에서는 sr0을 마운트 해서 CentOS의 패키지를 가져온 뒤

Local 이라는 새로운 repository를 만들어볼겁니다.

 

 

 

 

우선 새로운 repository를 만들기 위해서는 createrepo 라는 패키지를 설치해야 합니다.

 

 

y 옵션을 붙여서 설치하겠냐는 질문에 자동으로 yes 대답을 하도록 합시다.

 

 

dnf install -y createrepo

 

 

 

dnf를 사용하니 의존성 패키지도 같이 설치된 것을 볼 수 있습니다.

 

이 패키지는 나중에 사용할겁니다.

 

 

 

1. 기존 repository 확인 및 삭제(백업)

 

 

dnf repollist

 

 

 

활성화된 repository가 3개 있습니다.

 

이 repository를 백업해두고 Local 이라는 repository를 새로 만들 계획입니다.

 

 

 

 

루트 디렉토리에 backup 이라는 디렉토리를 만들어서 여기에 백업을 해둡니다.

 

 

mkdir backup
mv /etc/yum.repos.d/* /backup/

 

 

 

이제 기존 repository는 원래 디렉토리에서 사라졌습니다.

 

repository 정보가 들어있던 파일이 사라졌으니 이제 패키지 관리 도구를 사용할 수 없게 됐습니다.

 

 

 

활성화 된 repository가 없다는 메세지가 뜬다.

 

 

 

다시 패키지 관리 도구를 사용할 수 있도록 CentOS를 마운트 해볼까요?

 

 

 

2. 디스크 마운트

 

 

이전 포스팅에서 배웠듯이 디스크를 사용하기 위해서는 마운트 과정이 꼭 필요하고,

 

마운트란 디렉토리에 디스크를 연결하는 작업을 말합니다.

 

 

 

루트 디렉토리에 cd 라는 디렉토리를 만들어서 여기에 마운트를 합니다.

 

 

mkdir /cd
mount /dev/sr0 /cd

 

마운트 전 상태. CentOS cd를 열어봐도 장치명만 나오고 사용할 수 없다.

 

마운트 후 상태. CentOS 파일들을 확인할 수 있다.

 

 

cd 디렉토리에 Packages 라는 패키지 저장소가 보입니다.

 

이 디렉토리를 가져와서 Local repository의 패키지 저장소로 사용할 겁니다.

 

 

 

 

3. CentOS repository 설정

 

 

 

우선 루트 디렉토리에 repo 디렉토리를 만들고 Package 디렉토리에 있는 모든 파일을 옮깁니다.

 

 

그냥 cp /cd/Packages/* /repo 명령어를 사용해도 되지만

 

파일 양이 많기 떼문에 백그라운드에서 실행되도록 &를 추가해줬습니다.

 

 

mkdir /repo
cp /cd/Packages/* /repo &

 

 

파일을 옮겼으면 본적적으로 Local repository를 만들어봅시다.

 

repository 저장소 /etc/yum.repos.d 경로에 local.repo 파일을 만들어서 repository 설정을 해줍니다.

 

 

 

vi /etc/yum.repos.d/local.repo

 

 

Local repository의 이름은 Locak_Repository고

 

패키지가 있는 곳은 /repo 디렉토리고 활성화 상태로 둘겁니다.

 

gpgcheck는 요청하지 않습니다.

 

 

 

설정을 완료하고 /etc/yum.repos.d 디렉토리를 확인해 봅시다.

 

 

 

 

 

파일 설정을 하는 동안 백그라운드로 실행시켜둔 copy도 다 됐고,

 

local.repo 파일도 잘 확인됩니다.

 

 

 

4. CentOS repository 생성  

 

 

 

드디어 createrepo 명령어를 사용할 때가 왔습니다.

 

/repo 디렉토리를 repository 로 만들고 repolist를 확인해봅시다.

 

 

createrepo /repo
dnf repolist

 

 

 

 

repository 생성 완료입니다.

 

패키지 관리 도구도 잘 작동하는지 확인하기 위해 아무 패키지나 설치해봤습니다.

 

 

 

 

repository 생성 전까지만 해도 동작하지 않았던 dnf가 잘 되는걸 볼 수 있습니다.

 

 

그리고 처음에 createrepo를 설치했을 때와 차이점이 보이시나요?

 

 

 

 

 

 

 

사용된 repository 이름이 다릅니다.

 

zip 패키지는 직접 만든 local repsitory에서 설지된 걸 확인할 수 있었습니다.

 

 

 

 

 

+ 복구

 

 

실습을 끝냈으니 원리 상태로 되돌립니다.

 

 

마운트를 해제하고

 

복사해둔 CentOS Package 와 local repository를 삭제하고

 

백업해둔 원래 repository 를 돌려놓는 작업을 하고 마치겠습니다.

 

 

 

umount /cd
mv /backup/* /etc/yum.repos.d/
rm -rf /cd /repo /backup

 

 

 

 

 

 

 

 

 

 

[K-Digital Training, 애티버스러닝 교육 내용을 정리한 포스팅입니다.]

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유