고객사에 설치 업무를 다니다 보면 보안 때문에 외부와 네트워크 연결이 단절된 환경에서 작업해야 하는 경우가 잦다.
이런 경우 remote yum repository와의 연결을 통한 yum 설치/업데이트가 불가능하다.
RHEL이든 CentOS이든 local yum repository를 설정하여 설치하는 방법이 있으나 iso에 포함되지 않는 package를 설치해야 하는 경우는 remote yum repository가 어쩔 수 없이 필요하게 된다.

iso에 포함되지 않은 package를 준비하려면 일단 네트웍이 되는 환경에서 필요한 package를 내려 받아야 하는데 rpm 의존성 여부를 일일이 체크하려면 yum이 필요하고 yum의 기본 옵션들로는 설치만 되지 package를 따로 어딘가에 저장하지는 않는다.

yum-downloadonly는 yum repository로부터 package를 설치하지 않으면서 download만 가능케 해 주는 yum plugin이다.
[root@localhost ~]# yum install yum-downloadonly

/etc/yum/pluginconf.d/downloadonly.conf 가 아래와 같이 설정되어 있는지 확인
[main]
enabled=1

기본 사용법은 아래와 같다. httpd package와 그와 의존성을 갖는 package들을 /rpm-tmp에 받는 방법이다.
--downloaddir 옵션을 주지 않으면 기본값으로 /var/cache/yum/에 내려 받는다.
[root@localhost ~]# yum install --downloadonly --downloaddir=/rpm-tmp httpd

이미 설치되어 있는 패키지의 경우는 yumdownloader를 사용하여 내려 받는다. yumdownloader는 yum-utils 패키지에 포함된 바이너리이다.
[root@localhost ~]# yum install yum-utils

별다른 옵션 필요없이 아래와 같이 패키지만 명시해 주면 현재 경로에 rpm을 내려 받는다.
[root@localhost ~]# rpm -qa | grep openssl
openssl-0.9.8e-20.el5_7.1.0.1.centos
openssl-0.9.8e-20.el5_7.1.0.1.centos
openssl-devel-0.9.8e-20.el5_7.1.0.1.centos
openssl-devel-0.9.8e-20.el5_7.1.0.1.centos
[root@localhost ~]# yumdownloader openssl
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * rpmforge: ftp.riken.jp
Excluding Packages in global exclude list
Finished
openssl-0.9.8e-22.el5_8.4.x86_64.rpm     | 1.5 MB     00:00
openssl-0.9.8e-22.el5_8.4.i686.rpm       | 1.5 MB     00:00
[root@localhost ~]#
Creative Commons License