개발/Linux

Linux - Local Repository

잇(IT) 2022. 3. 11. 14:41
728x90

createrepo로 저장소를 만드는 실습을 해 볼 것이다.

 

yum은 패키지 설치와 다운로드가 있다. 패키지를 다운로드를 하게되면 rpm 파일이 존재하지만 설치를 하게 되는 순간 rpm 패지키 파일이 사라진다.

 

yum 리포지토리에는 다음과 같은 파일들이 존재한다. 이 파일들이 외부 네트워크와 연결되어 우리가 yum을 사용할 수 있도록 만들어 준다.

 

createrepoyum을 사용하여 설치해준다.

 

패키지와 패키지가 저장되는 위치들 등 여러가지 정보가 나온다. y로 설치가 아닌 d를 사용하여 다운로드를 할 것이다.

 

다운로드를 완료한 뒤 경로를 찾아 들어가보면 다음과 같이 rpm 파일들이 있는 것을 볼 수 있다.

 

위의 패키지들이 createrepo에 사용되는 패키지들이기 떄문에 사용의 편리성을 위해 별도의 디렉토리에 옮겨 놓는다.

 

createrepo --version으로 createrepo가 설치되어 있지 않은 것을 확인한다.

 

기존의 sr0/Packages/ 안에 있던 패키지들이 필요하기 떄문에 새롭게 만든 디렉토리에 복사해준다. &은 백그라운드로 진행한다는 뜻이다. &를 붙여주지 않으면 포그라운드로 진행되 작업이 진행되는 동안 쉘을 사용 할 수 없다.

 

가상 머신으로 가서 ISO 이미지 파일을 centos-7-x86_64-everything으로 바꾸고 위에 Connected가 체크 되어있는지 확인한다.

 

sr0에 있는 파일 및 디렉토리를 새롭게 만든 디렉토리로 옮긴다.

 

job %[숫자] 명령어를 사용해 작업 현재 상황을 알 수 있다.

 

/etc/yum.repos.d/에 있는 파일들이 우리가 외부 리포지토리에 대한 정보를 받아와 yum의 사용을 가능하게 하는 것이다.

 

임시로 외부와의 연결을 끊기 위해 새롭게 만든 디렉토리에 파일들을 옮겨 놓는다.

 

이후 yum을 이용하여 설치를 시도하면 안되는 것을 알 수 있다.

 

이제 rpm 명령어를 사용하여 아래 패키지들을 전부 설치해준다.

 

rpm -ivh          : 설치 및 설치 진행상황을 볼 수 있다.

rpm -Uvh        : 설치, 업데이트 및 진행상황을 볼 수 있다.

 

rpm은 의존성이 존재하기 때문에 설치에 필요한 패키지들이 존재 할 수 있다. 의존성에 관련된 모든 패키지를 설치해야 원하는 패키지가 설치가 가능하다.

 

의존성을 해결해주면 createrepo 패키지가 설치되는 것을 알 수 있다.

(yum localinstall을 사용해서 설치도 가능하다.)

 

다음과 같이 외부 인터넷과 단절되어 yum을 사용할 수 없는 상황에서 createrepo 패키지가 설치 된 것을 볼 수 있다.

 

이전에 /etc/yum.repos.d/에 있던 파일들을 다른 곳으로 옮겨 주었다. 그렇기 떄문에 임의의 파일을 생성하여 내용을 다음과 같이 수정한다.

 

- 다음과 같이 내용을 수정한다. 중요한 것은 baseurl인데 우리가 이전에 /etc/yum.repos.d/에 있던 파일들을 /local로 옮겼기 때문에 경로를 /local로 지정해준다.

- enabled=1은 활성화를 하기 위한 명령어다. gpgcheck는 인증서 비슷한 것이라고 생각하면 된다.

 

createrepo로 리포지토리를 생성해준다

 

yum repolist/etc/yum.repos.d/local.repo에 설정했던 내용들을 볼 수 있다.

 

yum이 제대로 작동 되는 것도 볼 수 있고 또한 리포지토리의 위치도 rpm인 것을 확인 할 수 있다.

728x90

'개발 > Linux' 카테고리의 다른 글

Linux - DHCP 설정  (0) 2022.03.30
Linux - SSH(개인키, 공개키)  (0) 2022.03.21
Linux - Quota (group)  (0) 2022.03.10
Linux - Quota (user)  (0) 2022.03.10
Linux - ACL (setfacl, getfacl)  (0) 2022.03.09