본문으로 바로가기
728x90
반응형

redhat계열 os에서는 특정 서비스나, 라이브러리, 기능 등을 설치할 때 yum을 사용합니다.

yum을 사용하면 편하긴 하지만 yum repository에 있는 버전으로만 사용이 가능합니다.

그래서 저는 보통 최신버전을 사용하기 위해서 직접 사이트에서 설치 파일들을 다운받아서 사용합니다.

그러나 설치 과정에서 defendecy가 많이 걸리는 부분도 있고, 불편한점들이 있습니다.

그래서 상황에 맞게 yum도 사용하고, 직접 다운로드 받아 설치를 하기도 합니다.

버전에 크게 신경을 안쓴다면 yum으로도 충분합니다.


오늘 이 주제로 포스팅을 한 이유에 대해 설명을 해보겠습니다.

저같은 경우는 장비 납품하는 사이트에 서버를 구축하고, 서버에 프로그램을 설치할 때 애를 좀 먹었습니다.

왜냐하면 사이트의 서버들은 폐쇄망(외부와 통신단절)이기 때문입니다.

즉, 기본적인 yum이 안된다는 겁니다.

yum에 대해 이해를 하고 계신분들은 알겠지만, 보통 yum으로 다운받는 것은 네트워크 통신이 되는 사이트의 repository 주소를 yum 설정에 등록 하고 거기 있는 것들을 다운받습니다.

그렇기 때문에 yum에는 모든 설치파일들이 존재하지는 않고, 네트워크 통신이 안되는 경우라면 일반적인 yum 사용이 불가능합니다.

물론 local 장비에 rpm들을 넣어 두고, 그 곳을 repository로 설정하여 사용할 수 있습니다.

그렇기 때문에 폐쇄망인 경우는 rpm을 직접 들고가서 yum으로 repository를 잡거나, rpm을 찾아 다운받은 후, 직접 명령어로 설치하는 방법이 있습니다.

yum repository를 local에 잡는 방법은 제가 예전에 쓴 글을 참고하시기 바랍니다.

https://letitkang.tistory.com/119


간단한 것을 설치한다고 하면, 인터넷에서 rpm 한개만 찾아 다운로드 한 후, 그것을 설치를 하면 쉽게 끝납니다.

그러나 문제는 defendency입니다.

이럴 때는 관련된 rpm들을 수동으로 찾아서 다운로드 한 후, 하나 하나 설치를 해줘야됩니다.

아마 직접 경험하신분들은 공감하실겁니다.

저도 잘 모를 때는 defendency가 10개 이상 걸린것들을 하나하나 다운받으면서 설치를 했습니다.

심지어 그렇게 해도 잘 해결이 안되는 경우가 있습니다.

yum으로는 한방에 되는데, 쉽지 않습니다.

이럴 때 사용하는게 바로 이번 포스팅의 기능입니다.


아래의 내용은 centos 7.6 기준으로 테스트 했습니다.

보통 yum으로 설치할 경우 rpm을 다운받아 설치하지만, 이 rpm들을 따로 저장하지는 않습니다.

관련된 rpm들을 저장하고 싶다면, 아래의 yum 옵션을 사용하면됩니다.

]# yum install [패키지명] --downloadonly

위와 같이 사용할 경우, /var/cache/yum/x86_64/7/base/packages/ 경로에 rpm들이 저장됩니다.

]# yum install [패키지명] --downloadonly --downloaddir=/tmp

위와 같이 사용할 경우, /tmp 경로에 rpm들이 저장됩니다.

이렇게 한다면, 패키지와 패키지 defendency와 연관된 rpm들이 모두 저장이 되고, 그 rpm들을 들고 가서 폐쇄망 서버에 설치를 하면됩니다.

오늘 포스팅은 여기까지 하겠습니다.

728x90
반응형

'운영체제 > 리눅스' 카테고리의 다른 글

[리눅스] /etc/hosts  (0) 2022.08.26
[리눅스] 특정 파일의 키워드 찾아 바꾸기  (0) 2022.07.26
[리눅스] source 명령어  (0) 2022.07.11
[리눅스] valgrind  (0) 2022.06.23
[리눅스] 멀티플렉싱  (0) 2022.05.17