리눅스 환경에서 새로운 패키지를 설치할 때에 "yum을 통해 손쉽게 다운로드할 수 있지만,

현재 구축하려는 서버는 사내망에 있어서 인터넷이 불가능한 환경이라 yum명령어를 사용할 수 없었습니다..

 

yum을 사용하지 못할경우에는 설치하려는 rpm 파일을 하나씩 설치해야 하는데,

해당 rpm 파일을 설치하기 위해서는 이에 해당하는 의존성 패키지 또한 같이 설치해줘야 하는 번거로움이 존재합니다.

 

인터넷이 안 되는 서버에 패키지를 쉽게 설치하는 방법은

인터넷이 되는 환경의 서버에서 yumdownloader를 사용해서 필요한 패키지. rpm파일을 다운로드하는 것입니다.

 

yumdownloader 명령어에 --resolve 옵션을 추가하면 의존성 있는 패키지도 같이 다운로드할 수 있습니다.

# yumdownloader --resolve [패키지 명]

 

해당. rpm 파일이 다운됐으면 인터넷이 안 되는 서버에 옮긴 후,

# rpm -ivh [패키지 파일명].rpm

명령어를 통해, 패키지를 설치합니다.

 

하지만, 이상하게도 패키지를 설치하는 도중 다른 패키지가 없어 설치가 안된다는 에러 문구를 발견할 수 있는데.. 🤣

 

 

구글링 해본 결과,

yumdownloader 명령어를 통해 패키지를 다운로드할 때 이미 서버에 설치된 dependency의 경우 다운로드를 하지 않는다고 하더라구요..ㅠㅠㅠ

그래서 다운받을 rpm을 폐쇄망 서버에 옮겨서 설치했을 때 위와 같은 오류가 발생하는 것이었습니다..

 

그래서 저는 repotrack을 사용해 rpm패키지를 다운로드하였습니다.

repotrack은 yumdownloader --resolve과 매우 유사하지만, yumdownloader는 종속성을 해결할 때 이미 설치되어 있으면 해당 종속성을 설치하지 않고 건너뛰고 repotrack의 경우 모든 종속성을 다운로드할 수 있는 차이점이 있습니다.

 

repotrack -p [다운로드 파일 경로] [다운받을 패키지 명]

해당 명령어를 통해 모든 종속성 패키지와 함께 rpm을 다운받을 수 있었습니다!

 

repotrack으로도 위와 동일하게 패키지가 없어 설치가 안된다는 에러 문구가 보일 경우에는 

yum install [패키지 명] --downloadonly --downloaddir=[다운받을 경로]

로 설치해보세요!

+ Recent posts